姓名:劉成龍 ?學(xué)號(hào):16020199016
轉(zhuǎn)載自:https://www.jiqizhixin.com/articles/2018-10-19-11创橄,有刪節(jié)。
【嵌牛導(dǎo)讀】:12種Python 機(jī)器學(xué)習(xí) & 數(shù)據(jù)挖掘 工具包
【嵌牛鼻子】:機(jī)器學(xué)習(xí) & 數(shù)據(jù)挖掘
【嵌牛提問(wèn)】:你Python的工具包夠用嗎近忙?
【嵌牛正文】:
作為一種解釋型語(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á)式去編寫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編寫的機(jī)器學(xué)習(xí)的交互式面向?qū)ο罂蚣芷┨ァyML側(cè)重于SVM和其他內(nèi)核方法。它在Linux和Mac OS X上受支持命锄。
官方主頁(yè):http://pyml.sourceforge.net/