Python機(jī)器學(xué)習(xí)庫(kù)
Python在科學(xué)計(jì)算領(lǐng)域,,有兩個(gè)重要的擴(kuò)展模塊:Numpy和Scipy,。其中Numpy是一個(gè)用python實(shí)現(xiàn)的科學(xué)計(jì)算包。包括:
SciPy是一個(gè)開源的Python算法庫(kù)和數(shù)學(xué)工具包,SciPy包含的模塊有最優(yōu)化,、線性代數(shù),、積分、插值,、特殊函數(shù),、快速傅里葉變換、信號(hào)處理和圖像處理,、常微分方程求解和其他科學(xué)與工程中常用的計(jì)算,。其功能與軟件MATLAB、Scilab和GNU Octave類似,。 Numpy和Scipy常常結(jié)合著使用,,Python大多數(shù)機(jī)器學(xué)習(xí)庫(kù)都依賴于這兩個(gè)模塊,繪圖和可視化依賴于matplotlib模塊,,matplotlib的風(fēng)格與matlab類似,。Python機(jī)器學(xué)習(xí)庫(kù)非常多,而且大多數(shù)開源,,主要有: scikit-learn 是一個(gè)基于SciPy和Numpy的開源機(jī)器學(xué)習(xí)模塊,,包括分類、回歸,、聚類系列算法,,主要算法有SVM、邏輯回歸,、樸素貝葉斯,、Kmeans、DBSCAN等,,目前由INRI 資助,,偶爾Google也資助一點(diǎn)。 項(xiàng)目主頁(yè): https://pypi./pypi/scikit-learn/ https://github.com/scikit-learn/scikit-learn NLTK(Natural Language Toolkit)是Python的自然語(yǔ)言處理模塊,包括一系列的字符處理和語(yǔ)言統(tǒng)計(jì)模型,。NLTK 常用于學(xué)術(shù)研究和教學(xué),,應(yīng)用的領(lǐng)域有語(yǔ)言學(xué)、認(rèn)知科學(xué),、人工智能,、信息檢索、機(jī)器學(xué)習(xí)等,。 NLTK提供超過(guò)50個(gè)語(yǔ)料庫(kù)和詞典資源,,文本處理庫(kù)包括分類、分詞,、詞干提取,、解析、語(yǔ)義推理,??煞€(wěn)定運(yùn)行在Windows, Mac OS X和Linux平臺(tái)上. 項(xiàng)目主頁(yè): Mlpy是基于NumPy/SciPy的Python機(jī)器學(xué)習(xí)模塊,它是Cython的擴(kuò)展應(yīng)用,。包含的機(jī)器學(xué)習(xí)算法有: l 回歸 least squares, ridge regression, least angle regression, elastic net, kernel ridge regression, support vector machines (SVM), partial least squares (PLS) l 分類 linear discriminant analysis (LDA), Basic perceptron, Elastic Net, logistic regression, (Kernel) Support Vector Machines (SVM), Diagonal Linear Discriminant Analysis (DLDA), Golub Classifier, Parzen-based, (kernel) Fisher Discriminant Classifier, k-nearest neighbor, Iterative RELIEF, Classification Tree, Maximum Likelihood Classifier l 聚類 hierarchical clustering, Memory-saving Hierarchical Clustering, k-means l 維度約減 (Kernel) Fisher discriminant analysis (FDA), Spectral Regression Discriminant Analysis (SRDA), (kernel) Principal component analysis (PCA) 項(xiàng)目主頁(yè): Shogun是一個(gè)開源的大規(guī)模機(jī)器學(xué)習(xí)工具箱,。目前Shogun的機(jī)器學(xué)習(xí)功能分為幾個(gè)部分:feature表示,feature預(yù)處理,, 核函數(shù)表示,核函數(shù)標(biāo)準(zhǔn)化,,距離表示,分類器表示,,聚類方法,,分布, 性能評(píng)價(jià)方法,,回歸方法,,結(jié)構(gòu)化輸出學(xué)習(xí)器。 SHOGUN 的核心由C++實(shí)現(xiàn),,提供 Matlab,、 R、 Octave,、 Python接口,。主要應(yīng)用在linux平臺(tái)上。 項(xiàng)目主頁(yè): The Modular toolkit for Da 從用戶的觀點(diǎn),,MDP是能夠被整合到數(shù)據(jù)處理序列和更復(fù)雜的前饋網(wǎng)絡(luò)結(jié)構(gòu)的一批監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)算法和其他數(shù)據(jù)處理單元,。計(jì)算依照速度和內(nèi)存需求而高效的執(zhí)行,。從科學(xué)開發(fā)者的觀點(diǎn),MDP是一個(gè)模塊框架,,它能夠被容易地?cái)U(kuò)展,。新算法的實(shí)現(xiàn)是容易且直觀的。新實(shí)現(xiàn)的單元然后被自動(dòng)地與程序庫(kù)的其余部件進(jìn)行整合,。MDP在神經(jīng)科學(xué)的理論研究背景下被編寫,,但是它已經(jīng)被設(shè)計(jì)為在使用可訓(xùn)練數(shù)據(jù)處理算法的任何情況中都是有用的。其站在用戶一邊的簡(jiǎn)單性,,各種不同的隨時(shí)可用的算法,及應(yīng)用單元的可重用性,,使得它也是一個(gè)有用的教學(xué)工具,。 項(xiàng)目主頁(yè): PyBrain(Python-Based Reinforcement Learning, Artificial Intelligence and Neural Network)是Python的一個(gè)機(jī)器學(xué)習(xí)模塊,它的目標(biāo)是為機(jī)器學(xué)習(xí)任務(wù)提供靈活,、易應(yīng),、強(qiáng)大的機(jī)器學(xué)習(xí)算法。(這名字很霸氣) PyBrain正如其名,,包括神經(jīng)網(wǎng)絡(luò),、強(qiáng)化學(xué)習(xí)(及二者結(jié)合)、無(wú)監(jiān)督學(xué)習(xí),、進(jìn)化算法,。因?yàn)槟壳暗脑S多問(wèn)題需要處理連續(xù)態(tài)和行為空間,必須使用函數(shù)逼近(如神經(jīng)網(wǎng)絡(luò))以應(yīng)對(duì)高維數(shù)據(jù),。PyBrain以神經(jīng)網(wǎng)絡(luò)為核心,,所有的訓(xùn)練方法都以神經(jīng)網(wǎng)絡(luò)為一個(gè)實(shí)例。 項(xiàng)目主頁(yè): https://github.com/pybrain/pybrain/ BigML 使得機(jī)器學(xué)習(xí)為數(shù)據(jù)驅(qū)動(dòng)決策和預(yù)測(cè)變得容易,,BigML使用容易理解的交互式操作創(chuàng)建優(yōu)雅的預(yù)測(cè)模型,。BigML使用BigML.io,捆綁Python。 項(xiàng)目主頁(yè): PyML是一個(gè)Python機(jī)器學(xué)習(xí)工具包,, 為各分類和回歸方法提供靈活的架構(gòu),。它主要提供特征選擇、模型選擇,、組合分類器,、分類評(píng)估等功能。 項(xiàng)目主頁(yè): http://cmgm./~asab/pyml/tutorial/ Milk是Python的一個(gè)機(jī)器學(xué)習(xí)工具箱,,其重點(diǎn)是提供監(jiān)督分類法與幾種有效的分類分析:SVMs(基于libsvm),,K-NN,隨機(jī)森林經(jīng)濟(jì)和決策樹,。它還可以進(jìn)行特征選擇,。這些分類可以在許多方面相結(jié)合,,形成不同的分類系統(tǒng)。 對(duì)于無(wú)監(jiān)督學(xué)習(xí),,它提供K-means和affinity propagation聚類算法,。 項(xiàng)目主頁(yè): PyMVPA(Multivariate Pattern Analysis in Python)是為大數(shù)據(jù)集提供統(tǒng)計(jì)學(xué)習(xí)分析的Python工具包,它提供了一個(gè)靈活可擴(kuò)展的框架,。它提供的功能有分類,、回歸、特征選擇,、數(shù)據(jù)導(dǎo)入導(dǎo)出,、可視化等 項(xiàng)目主頁(yè): https://github.com/PyMVPA/PyMVPA Pattern是Python的web挖掘模塊,它綁定了 Google,、Twitter ,、Wikipedia API,提供網(wǎng)絡(luò)爬蟲,、HTML解析功能,,文本分析包括淺層規(guī)則解析、WordNet接口,、句法與語(yǔ)義分析,、TF-IDF、LSA等,,還提供聚類,、分類和圖網(wǎng)絡(luò)可視化的功能。 項(xiàng)目主頁(yè): http://www.clips./pages/pattern Pyrallel(Parallel Da l focus on small to medium dataset that fits in memory on a small (10+ nodes) to medium cluster (100+ nodes). l focus on small to medium da l focus on CPU bound tasks (e.g. training Random Forests) while trying to limit disk / network access to a minimum. l do not focus on HA / Fault Tolerance (yet). l do not try to invent new set of high level programming abstractions (yet): use a low level programming model (IPython.parallel) to finely control the cluster elements and messages transfered and help identify what are the practical underlying constraints in distributed machine learning setting. 項(xiàng)目主頁(yè): https://pypi./pypi/pyrallel http://github.com/pydata/pyrallel Monte ( machine learning in pure Python)是一個(gè)純Python機(jī)器學(xué)習(xí)庫(kù)。它可以迅速構(gòu)建神經(jīng)網(wǎng)絡(luò),、條件隨機(jī)場(chǎng),、邏輯回歸等模型,使用inline-C優(yōu)化,,極易使用和擴(kuò)展,。 項(xiàng)目主頁(yè): Orange 是一個(gè)基于組件的數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)軟件套裝,它的功能即友好,,又很強(qiáng)大,,快速而又多功能的可視化編程前端,以便瀏覽數(shù)據(jù)分析和可視化,,基綁定了 Python以進(jìn)行腳本開發(fā),。它包含了完整的一系列的組件以進(jìn)行數(shù)據(jù)預(yù)處理,并提供了數(shù)據(jù)帳目,,過(guò)渡,,建模,,模式評(píng)估和勘探的功能。其由C++ 和 Python開發(fā),,它的圖形庫(kù)是由跨平臺(tái)的Qt框架開發(fā),。 項(xiàng)目主頁(yè): Theano 是一個(gè) Python 庫(kù),用來(lái)定義,、優(yōu)化和模擬數(shù)學(xué)表達(dá)式計(jì)算,,用于高效的解決多維數(shù)組的計(jì)算問(wèn)題。Theano的特點(diǎn):
自2007年以來(lái),,Theano已被廣泛應(yīng)用于科學(xué)運(yùn)算,。theano使得構(gòu)建深度學(xué)習(xí)模型更加容易,可以快速實(shí)現(xiàn)下列模型: l Logistic Regression l Multilayer perceptron l Deep Convolutional Network l Auto Encoders, Denoising Autoencoders l Stacked Denoising Auto-Encoders l Restricted Boltzmann Machines l Deep Belief Networks l HMC Sampling l Contractive auto-encoders Theano,,一位希臘美女,,Croton最有權(quán)勢(shì)的Milo的女兒,后來(lái)成為了畢達(dá)哥拉斯的老婆,。 項(xiàng)目主頁(yè): 16. Pylearn2 Pylearn2建立在theano上,部分依賴scikit-learn上,,目前Pylearn2正處于開發(fā)中,,將可以處理向量、圖像,、視頻等數(shù)據(jù),,提供MLP、RBM,、SDA等深度學(xué)習(xí)模型,。Pylearn2的目標(biāo)是:
項(xiàng)目主頁(yè): https://github.com/lisa-lab/pylearn2 還有其他的一些Python的機(jī)器學(xué)習(xí)庫(kù),如: pmll(https://github.com/pavlov99/pmll) pymining(https://github.com/bartdag/pymining) ease (https://github.com/edx/ease) textmining(http://www./textmining/) 更多的機(jī)器學(xué)習(xí)庫(kù)可通過(guò)https://pypi./pypi查找 |
|
來(lái)自: 閑來(lái)看看 > 《數(shù)據(jù)挖掘》