經典的機器學習方面源代碼庫(非常全,數據挖掘,計算機視覺,模式識別,信息檢索相關領域都適用的了)

編程語言:搞實驗個人認爲當然matlab最靈活了(但是正版很貴),但是更爲前途的是python(numpy+scipy+matplotlib)和C/C++,這樣組合既可搞研究,也可搞商業開發,易用性不比matlab差,功能組合更爲強大,個人認爲,當然R和java也不錯.

1.機器學習開源軟件網(收錄了各種機器學習的各種編程語言學術與商業的開源軟件)

http://mloss.org

2偶爾找到的機器學習資源網:(也非常全,1和2基本收錄了所有ML的經典開源軟件了)

http://www.dmoz.org/Computers/Artificial_Intelligence/Machine_Learning/Software/

3libsvm(支持向量機界最牛的,不用多說了,臺灣大學的林教授的傑作)

http://www.csie.ntu.edu.tw/~cjlin/libsvm/

4WEKA(基於java的機器學習算法最全面最易用的開源軟件)

http://www.cs.waikato.ac.nz/ml/weka/

5scikit(本人最喜歡的一個基於python的機器學習軟件,代碼寫得非常好,而且官方的文檔非常全,所有都有例子,算法也齊全,開發也活躍
,強烈推薦給大家用)

http://scikit-learn.org/stable/

6OpenCv(最牛的開源計算機視覺庫了,前途無可限量,做圖像處理與模式識別的一定要用,總不能整天抱着matlab做實驗和工業界脫節吧,但是有一定難度)

http://opencv.willowgarage.com/wiki/

7Orange(基於c++和python接口的機器學習軟件,界面漂亮,調用方便,可以同時學習C++和python,還有可視化的功能,)

http://orange.biolab.si/

8Mallet(基於JAVA實現的機器學習庫,主要用於自然語言處理方面,特色是馬爾可夫模型和隨機域做得好,可和WEKA互補)

http://mallet.cs.umass.edu/

9NLTK(PYTHON的自然處理開源庫,非常易用,也強大,還有幾本orelly的經典教程)

http://nltk.org/

10lucene(基於java的包括nutch,solr,hadoop,mahout等全套,是做信息檢索和搜索引擎的同志們必學的開源軟件了,學JAVA的必學)

http://lucene.apache.org/

1.MG4J-ManagingGigabytesforJava

818137ee-0209-36a6-9d67-b3302273f56a.jpg
MG4J可以讓你通過內插編碼(interpolativecoding)技術,爲大量的文檔集合構建一個被壓縮的全文本索引。與Lucene主要區別是,它提供了cluster功能,具有更OO的設計方式。雖然MG4J不是一個像Lucene、Egothor和Xapian那樣的信息檢索庫,但是相信每一位搜索工程師都應該知道它,因爲它對構建Java信息檢索庫提供了低水平的支持。MG4J是在一本很流行的書問世之後被命名的,這本書是由H.Witten,AlistairMoffat和Timothy所寫,名字是《管理十億字節:壓縮並且索引文檔和圖片》。在使用他們的分佈式、可容錯的網頁爬蟲UbiCrawler收集到大量的網頁數據後,它的作者需要一個軟件來解析那些收集來的數據,由於這個需求,MG4J誕生了。MG4J的庫提供了優化的類來處理I/O,轉化索引文件的壓縮等等。

2.Terrier-InformationRetrievalPlatform
bc3d4be8-47d4-3962-8a47-fd7184cf8e6d.jpg
Terrier是一個高度靈活,高效的開源搜索引擎,易於部署在大型的文件集合。Terrier實現非常優秀的索引和搜索功能,爲開發大型檢索應用程序提供了一個理想的平臺。它支持多索引策略比如:multi-pass、single-pass和大型MapReduce索引。

3.Lemur-SearchEngine

6de4912d-3aea-3f8f-b160-51d5642ffe76.jpg
Lemur(狐猴)系統是CMU和UMass聯合推出的一個用於自然語言模型和信息檢索研究的系統。在這個系統上可以實現基於自然語言模型和傳統的向量空間模型以及Okapi的adhoc或者分佈式檢索,可以使用結構化查詢、跨語言檢索、過濾、聚類等。

Lemur可以在Windows或者Unix環境下使用,因此我們可以直接在Windows下使用Lemur。但是Lemur提供了shellscript文件來演示完整的使用lemur進行檢索的過程,所以在Windows下需要安裝cygwin來模擬Unix環境。Lemur還提供了一個GUI程序以及用戶交互的界面的CGI,Java程序可以直接看到檢索的結果,需要安裝Java虛擬機,CGI程序需要Perl的解釋器。

4.Xapian-SearchEngineLibrary
e86920dc-8023-3b9d-ad48-2d774e4bec24.jpg
Xapian由C++編寫,但可以綁定到Perl、Python、PHP、Java、Tcl、C#和Ruby甚至更多的語言。Xapian可以說是STL編程的典範,在這裏您可以找到熟悉的引用計數型智能指針、容器和迭代器,甚至連命名也跟STL相似,相信一定能引起喜好C++和STL的你的共鳴(實際上,很少C++程序員完全不使用STL)。

由於Xapian使用的是STL和C運行時庫,因此具有高度可移值性,官方說法是可以運行在Linux、MacOSX、FreeBSD、NetBSD、OpenBSD、Solaris、HP-UX、Tru64和IRIX,甚至其它的Unix平臺,在Windows上也跑得很好。當然,並不能像Java那樣“一次編譯,到處可以運行”,當移植到其它平臺時,一般來說是需要重新編譯的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章