機器學習相關資源

1、 引言

在機器學習相關領域研究中,不可避免的要涉及各類各樣的算法,包括數據預處理、算法模型生成、算法模型集成、算法評估等。對於研究人員而言,每個算法都親力親爲實現幾乎是不可能的,並且會形成很是巨大的時間浪費。java

此外,在算法實驗中,數據自己佔據着很是重要的地位,在公認的數據集上取得較好的實驗效果,是研究成果獲得認可的前提之一。c++

基於以上的兩點緣由,本文對目前可使用的主要機器學習工具包以及數據集進行整理,做爲以後研究的基礎。算法

必須說明的是,本文整理的內容必然有失完整,後續期待着進一步的完善。機器學習

 

2、 必備的經典工具包
2.1 MATLAB

毫無疑問,MATLAB是機器學習算法研究中最爲核心的工具,其中包含的大量函數、算法能夠爲研究工做提供極大的便利。ide

MATLAB的語法很是簡潔,最大程度上下降了傳統通用程序設計語言由於嚴謹性致使的額外工做量。函數

MATLAB能夠在m文件的層面以及jar文件(JAVA語言)的層面上與其餘機器學習相關工具包很是簡便的集成。不只不少機器學習工具包基於MATLAB開發,不少基於JAVA開發的工具包也能夠用於MATLAB(例如Weka)。工具

MATLAB的另外一個良好特性是跨平臺,最新的R2012版本在Linux上的安裝已經順利完成(Ubuntu 12.04 LTS),這樣可使用基於Linux平臺的MATLAB補充工具包。學習

2.2 Weka

Weka[1]是新西蘭懷卡託大學開發的一個基於Java的開源機器學習和數據挖掘平臺。Weka提供了大量的算法實現,不只能夠在其提供的GUI上進行各類實驗,也能夠利用JAVA接口在MATLAB等工具中直接調用Weka的功能。由於Weka是開源軟件,因此直接修改其JAVA實現以進行算法的微調也是可能的。測試

 

3、 獨立的算法平臺
3.1 KEEL

KEEL最初被設計爲一種專一於進化算法的算法平臺,可是如今的KEEL已經涵蓋了機器學習了領域的各類算法,其算法的完整程度與Weka不相上下。網站

KEEL也是JAVA實現的開源軟件。

3.2 AlphaMiner

AlphaMiner是香港大學開發的一種開源數據挖掘平臺,不管是GUI界面和定位都比較相似Weka

3.3 Elefant

Elefant是一種支持多語言和多平臺的機器學習開發包,它的GUI界面具備本身的特點。

目前對於Elefant的瞭解並很少,其核心多是用Python實現的。

 

4、 基於MATLAB的補充工具包
4.1 PRToolsdd_tools

PRTools[2]dd_tools[3]是荷蘭代夫特技術大學R.P.W Duin大牛領銜開發的基於MATLAB的模式識別和單類分類器工具包。其使用較爲簡潔,數據可視化的部分比較有特色,針對二維數據能夠方便的繪製分類器的決策邊界等。

4.2 Spider

Spider是基於MATLAB的很是著名的機器學習工具包,提供了較多的功能而且能夠與Weka協同工做。惟一比較明顯的問題是Spider已經中止更新多年。

 

5、 其餘工具包
5.1 R

R是與MATLAB其名的科學計算平臺,因爲MATLAB過於昂貴(彷佛和咱們無關……),R的相關補充包也很是豐富。尤爲在統計學領域,R的被承認程度是最高的。

5.2 LibSVM

LibSVM是支持向量機領域最重要的工具包,由臺灣大學林智仁教授帶隊開發。幾乎全部的支持向量機相關研究(包括單類分類SVM等相關研究)都會使用LibSVM

5.3 Shogun

這個能夠支持包括C++MATLABRPython等等接口的開源工具包能夠說是機器學習領域的後起之秀,尤爲是在參與了googleSummer of Code計劃以後,其發展獲得了較大的推進。

Shogun的數據可視化功能具備本身的特點,並且能夠有效支持Linux。可是因爲是社區型開源軟件,因此可能缺少足夠的測試。

此外,這個數據集既不是中國人開發的,也不是日本人開發的。

5.4 Orange

Orange是一個基於Python的開源數據分析平臺。提供了包括GUI和庫在內的完整支持,其核心是Python腳本。

5.5 JavaML

JavaML是一個純java的機器學習庫。

5.6 mlpack

JavaML是一個純c++的機器學習庫。

 

6、 數據集來源
6.1 UCI數據集

毫無疑問,UCI數據集的影響力是最大的,在大多數的機器學習研究論文中,實際上只用到UCI數據。

6.2 StatLib

雖然知名度並不高,可是StatLib做爲卡耐基梅隆大學統計學社區,也維護了數量可觀的來自實際問題的數據集。

6.3 數據堂

總感受後臺很硬的網站,能夠獲得更多接近中國實際狀況的數據。

6.4 KEEL

參見3.1節,KEEL整理了不少現有的數據集,雖然並非其自己提供,可是KEEL對數據的歸類整理能夠爲咱們節省大量的時間。

 

7、 索引

MLOSS維護了數百個開源機器學習項目的更新等信息,能夠從MLOSS上了解當前各個開源機器學習項目的現狀,或尋找適合具體需求的軟件。

相關文章
相關標籤/搜索