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