Python機器學(xué)習(xí)庫
Python在科學(xué)計算領(lǐng)域,有兩個重要的擴展模塊:Numpy和Scipy。其中Numpy是一個用python實現(xiàn)的科學(xué)計算包。包括:
SciPy是一個開源的Python算法庫和數(shù)學(xué)工具包,SciPy包含的模塊有最優(yōu)化、線性代數(shù)、積分、插值、特殊函數(shù)、快速傅里葉變換、信號處理和圖像處理、常微分方程求解和其他科學(xué)與工程中常用的計算。其功能與軟件MATLAB、Scilab和GNU Octave類似。 Numpy和Scipy常常結(jié)合著使用,Python大多數(shù)機器學(xué)習(xí)庫都依賴于這兩個模塊,繪圖和可視化依賴于matplotlib模塊,matplotlib的風(fēng)格與matlab類似。Python機器學(xué)習(xí)庫非常多,而且大多數(shù)開源,主要有: scikit-learn 是一個基于SciPy和Numpy的開源機器學(xué)習(xí)模塊,包括分類、回歸、聚類系列算法,主要算法有SVM、邏輯回歸、樸素貝葉斯、Kmeans、DBSCAN等,目前由INRI 資助,偶爾Google也資助一點。 項目主頁: https://pypi./pypi/scikit-learn/ https://github.com/scikit-learn/scikit-learn NLTK(Natural Language Toolkit)是Python的自然語言處理模塊,包括一系列的字符處理和語言統(tǒng)計模型。NLTK 常用于學(xué)術(shù)研究和教學(xué),應(yīng)用的領(lǐng)域有語言學(xué)、認知科學(xué)、人工智能、信息檢索、機器學(xué)習(xí)等。 NLTK提供超過50個語料庫和詞典資源,文本處理庫包括分類、分詞、詞干提取、解析、語義推理??煞€(wěn)定運行在Windows, Mac OS X和Linux平臺上. 項目主頁: Mlpy是基于NumPy/SciPy的Python機器學(xué)習(xí)模塊,它是Cython的擴展應(yīng)用。包含的機器學(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) 項目主頁: Shogun是一個開源的大規(guī)模機器學(xué)習(xí)工具箱。目前Shogun的機器學(xué)習(xí)功能分為幾個部分:feature表示,feature預(yù)處理, 核函數(shù)表示,核函數(shù)標準化,距離表示,分類器表示,聚類方法,分布, 性能評價方法,回歸方法,結(jié)構(gòu)化輸出學(xué)習(xí)器。 SHOGUN 的核心由C++實現(xiàn),提供 Matlab、 R、 Octave、 Python接口。主要應(yīng)用在linux平臺上。 項目主頁: The Modular toolkit for Da 從用戶的觀點,MDP是能夠被整合到數(shù)據(jù)處理序列和更復(fù)雜的前饋網(wǎng)絡(luò)結(jié)構(gòu)的一批監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)算法和其他數(shù)據(jù)處理單元。計算依照速度和內(nèi)存需求而高效的執(zhí)行。從科學(xué)開發(fā)者的觀點,MDP是一個模塊框架,它能夠被容易地擴展。新算法的實現(xiàn)是容易且直觀的。新實現(xiàn)的單元然后被自動地與程序庫的其余部件進行整合。MDP在神經(jīng)科學(xué)的理論研究背景下被編寫,但是它已經(jīng)被設(shè)計為在使用可訓(xùn)練數(shù)據(jù)處理算法的任何情況中都是有用的。其站在用戶一邊的簡單性,各種不同的隨時可用的算法,及應(yīng)用單元的可重用性,使得它也是一個有用的教學(xué)工具。 項目主頁: PyBrain(Python-Based Reinforcement Learning, Artificial Intelligence and Neural Network)是Python的一個機器學(xué)習(xí)模塊,它的目標是為機器學(xué)習(xí)任務(wù)提供靈活、易應(yīng)、強大的機器學(xué)習(xí)算法。(這名字很霸氣) PyBrain正如其名,包括神經(jīng)網(wǎng)絡(luò)、強化學(xué)習(xí)(及二者結(jié)合)、無監(jiān)督學(xué)習(xí)、進化算法。因為目前的許多問題需要處理連續(xù)態(tài)和行為空間,必須使用函數(shù)逼近(如神經(jīng)網(wǎng)絡(luò))以應(yīng)對高維數(shù)據(jù)。PyBrain以神經(jīng)網(wǎng)絡(luò)為核心,所有的訓(xùn)練方法都以神經(jīng)網(wǎng)絡(luò)為一個實例。 項目主頁: https://github.com/pybrain/pybrain/ BigML 使得機器學(xué)習(xí)為數(shù)據(jù)驅(qū)動決策和預(yù)測變得容易,BigML使用容易理解的交互式操作創(chuàng)建優(yōu)雅的預(yù)測模型。BigML使用BigML.io,捆綁Python。 項目主頁: PyML是一個Python機器學(xué)習(xí)工具包, 為各分類和回歸方法提供靈活的架構(gòu)。它主要提供特征選擇、模型選擇、組合分類器、分類評估等功能。 項目主頁: http://cmgm./~asab/pyml/tutorial/ Milk是Python的一個機器學(xué)習(xí)工具箱,其重點是提供監(jiān)督分類法與幾種有效的分類分析:SVMs(基于libsvm),K-NN,隨機森林經(jīng)濟和決策樹。它還可以進行特征選擇。這些分類可以在許多方面相結(jié)合,形成不同的分類系統(tǒng)。 對于無監(jiān)督學(xué)習(xí),它提供K-means和affinity propagation聚類算法。 項目主頁: PyMVPA(Multivariate Pattern Analysis in Python)是為大數(shù)據(jù)集提供統(tǒng)計學(xué)習(xí)分析的Python工具包,它提供了一個靈活可擴展的框架。它提供的功能有分類、回歸、特征選擇、數(shù)據(jù)導(dǎo)入導(dǎo)出、可視化等 項目主頁: https://github.com/PyMVPA/PyMVPA Pattern是Python的web挖掘模塊,它綁定了 Google、Twitter 、Wikipedia API,提供網(wǎng)絡(luò)爬蟲、HTML解析功能,文本分析包括淺層規(guī)則解析、WordNet接口、句法與語義分析、TF-IDF、LSA等,還提供聚類、分類和圖網(wǎng)絡(luò)可視化的功能。 項目主頁: 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. 項目主頁: https://pypi./pypi/pyrallel http://github.com/pydata/pyrallel Monte ( machine learning in pure Python)是一個純Python機器學(xué)習(xí)庫。它可以迅速構(gòu)建神經(jīng)網(wǎng)絡(luò)、條件隨機場、邏輯回歸等模型,使用inline-C優(yōu)化,極易使用和擴展。 項目主頁: Orange 是一個基于組件的數(shù)據(jù)挖掘和機器學(xué)習(xí)軟件套裝,它的功能即友好,又很強大,快速而又多功能的可視化編程前端,以便瀏覽數(shù)據(jù)分析和可視化,基綁定了 Python以進行腳本開發(fā)。它包含了完整的一系列的組件以進行數(shù)據(jù)預(yù)處理,并提供了數(shù)據(jù)帳目,過渡,建模,模式評估和勘探的功能。其由C++ 和 Python開發(fā),它的圖形庫是由跨平臺的Qt框架開發(fā)。 項目主頁: Theano 是一個 Python 庫,用來定義、優(yōu)化和模擬數(shù)學(xué)表達式計算,用于高效的解決多維數(shù)組的計算問題。Theano的特點:
自2007年以來,Theano已被廣泛應(yīng)用于科學(xué)運算。theano使得構(gòu)建深度學(xué)習(xí)模型更加容易,可以快速實現(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)勢的Milo的女兒,后來成為了畢達哥拉斯的老婆。 項目主頁: 16. Pylearn2 Pylearn2建立在theano上,部分依賴scikit-learn上,目前Pylearn2正處于開發(fā)中,將可以處理向量、圖像、視頻等數(shù)據(jù),提供MLP、RBM、SDA等深度學(xué)習(xí)模型。Pylearn2的目標是:
項目主頁: https://github.com/lisa-lab/pylearn2 還有其他的一些Python的機器學(xué)習(xí)庫,如: pmll(https://github.com/pavlov99/pmll) pymining(https://github.com/bartdag/pymining) ease (https://github.com/edx/ease) textmining(http://www./textmining/) 更多的機器學(xué)習(xí)庫可通過https://pypi./pypi查找 |
|
|
來自: 閑來看看 > 《數(shù)據(jù)挖掘》