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





































