12種Python 機器學習 & 數據挖掘工具包,一定讓你受益匪淺
作為一種解釋型語言,Python的設計哲學強調代碼的可讀性和簡潔的語法(尤其是使用空格縮進劃分代碼塊,而非使用大括號或者關鍵詞)。相比于C++或Java,Python讓開發者能夠用更少的代碼表達想法。不管是小型還是大型程序,該語言都試圖讓程序的結構清晰明了。我們今天為大家介紹12種Python機器學習&數據挖掘工具包。
1. PyBrain
【PyBrain】是一個用于Python的模塊化機器學習庫。其目標是為機器學習任務和各種預定義環境提供靈活,易用且功能強大的算法,以測試和比較您的算法。
PyBrain包含用于神經網絡的算法,用于強化學習(以及兩者的組合),用于無監督學習和進化。由于當前大多數問題涉及連續狀態和動作空間,因此必須使用函數逼近器(如神經網絡)來處理大維數。我們的庫是圍繞內核中的神經網絡構建的,并且所有訓練方法都接受神經網絡作為待訓練的實例。這使得PyBrain成為實際任務的強大工具。
2. Theano
【Theano】是一個Python庫,允許您有效地定義,優化和評估涉及多維數組的數學表達式。
Theano特色:
- 與NumPy緊密集成 - 在Theano編譯的函數中使用numpy.ndarray。
- 透明使用GPU - 比CPU更快地執行數據密集型計算。
- 有效的象征性差異 - Theano將您的衍生品用于具有一個或多個輸入的函數。
- 速度和穩定性優化 - log(1+x)即使x非常小,也能獲得正確的答案。
- 動態C代碼生成 - 更快地評估表達式。
- 廣泛的單元測試和自我驗證 - 檢測和診斷多種類型的錯誤。
官方主頁:http://deeplearning.net/software/theano/
3. Pylearn2
【Pylearn2】是一個基于Theano的機器學習庫,它的大部分功能是基于Theano頂層實現的。這意味著用戶可以用數學表達式去編寫Pylearn2插件(新模型、算法等),Theano不僅會幫助用戶優化這些表達式,并且將這些表達式編譯到CPU或者GPU中。
代碼主頁:https://github.com/lisa-lab/pylearn2
4. Pyrallel
【Pyrallel 】 Python中的并行數據分析,用于研究機器學習和其他半交互式數據分析任務的分布式計算模式的實驗項目。
代碼主頁:http://github.com/pydata/pyrallel
5. PyMVPA
【PyMVPA】是一個Python包,旨在簡化大型數據集的統計學習分析。它提供了一個可擴展的框架,具有高級接口,可用于分類,回歸,特征選擇,數據導入和導出等各種算法。它旨在與相關軟件包很好地集成,例如scikit-learn,shogun,MDP等。雖然它不僅限于神經成像領域,但它非常適合這樣的數據集。PyMVPA是免費軟件,只需要運行免費軟件。
6. Milk
【Milk】是Python中的機器學習工具包,它的重點是有多種分類器的監督分類:SVM(基于libsvm),k-NN,隨機森林,決策樹。它還執行功能選擇。這些分類器可以以多種方式組合以形成不同的分類系統。
官方主頁:http://www.luispedro.org/software/milk
代碼主頁:https://github.com/luispedro/milk
7. Monte
【Monte】是用于構建基于梯度的學習機器的Python框架,如神經網絡,條件隨機場,邏輯回歸等.Monte包含模塊(包含參數,成本函數和梯度函數)和訓練器 (可以通過最小化其在訓練數據上的成本函數來調整模塊的參數。
模塊通常由其他模塊組成,這些模塊又可以包含其他模塊等。像這樣的可分解系統的梯度可以通過反向傳播來計算。
官方主頁:http://montepython.sourceforge.net/
8. scikit-learn
【scikit-learn】是一個用于Python編程語言的開源機器學習庫。它具有各種分類、回歸和聚類算法,包括支持向量機、邏輯回歸、樸素貝葉斯、隨機森林、梯度增強、k均值和DBSCAN,旨在與Python數值和科學庫NumPy和SciPy互操作。
官方主頁:http://scikit-learn.org/stable/
代碼主頁:https://github.com/scikit-learn/scikit-learn
9. pandas
【pandas】是一個開源的,BSD許可的庫,為Python編程語言提供高性能,易于使用的數據結構和數據分析工具。
官方主頁:http://pandas.pydata.org/
代碼主頁:https://github.com/pandas-dev/pandas
10. mlpy
【mlpy】是一個基于NumPy / SciPy和GNU Scientific Libraries的機器學習Python模塊。mlpy為監督和無監督問題提供了廣泛的***進的機器學習方法,旨在找到模塊化、可維護性、可重復性、可用性和效率之間的合理折衷。mlpy是多平臺的,它適用于Python 2和3;它是開源的,在GNU通用公共許可證版本3下發布。
官方主頁:http://mlpy.sourceforge.net/
11. MDP
【MDP】是一種Python數據處理框架。從用戶的角度來看,MDP是監督和無監督學習算法和其他數據處理單元的集合,可以組合成數據處理序列和更復雜的前饋網絡架構。從科學開發人員的角度來看,MDP是一個模塊化框架,可以輕松擴展。新算法的實現簡單直觀。然后,新實現的單元將自動與庫的其余部分集成。
可用算法的基礎正在穩步增長,包括信號處理方法(主成分分析,獨立分量分析,慢特征分析),流形學習方法([Hessian]局部線性嵌入),幾種分類器,概率方法(因子分析,RBM) ,數據預處理方法等等。
官方主頁:http://mdp-toolkit.sourceforge.net/
12. PyML
【PyML】是一個用Python編寫的機器學習的交互式面向對象框架。PyML側重于SVM和其他內核方法。它在Linux和Mac OS X上受支持。
官方主頁:http://pyml.sourceforge.net/