电竞比分网-中国电竞赛事及体育赛事平台

分享

Python機器學(xué)習(xí)庫

 閑來看看 2013-12-30

Python機器學(xué)習(xí)庫  

 

     Python在科學(xué)計算領(lǐng)域,有兩個重要的擴展模塊:NumpyScipy。其中Numpy是一個用python實現(xiàn)的科學(xué)計算包。包括:

  • 一個強大的N維數(shù)組對象Array;
  • 比較成熟的(廣播)函數(shù)庫;
  • 用于整合C/C++Fortran代碼的工具包;
  • 實用的線性代數(shù)、傅里葉變換和隨機數(shù)生成函數(shù)。

     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ù)開源,主要有:

1.       scikit-learn

scikit-learn 是一個基于SciPyNumpy的開源機器學(xué)習(xí)模塊,包括分類、回歸、聚類系列算法,主要算法有SVM、邏輯回歸、樸素貝葉斯、Kmeans、DBSCAN等,目前INRI 資助,偶爾Google也資助一點。

項目主頁:

https://pypi./pypi/scikit-learn/

http:///

https://github.com/scikit-learn/scikit-learn

2.       NLTK

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 XLinux平臺上

項目主頁:

http:///projects/nltk/

https://pypi./pypi/nltk/

http:///

3.       Mlpy

Mlpy是基于NumPy/SciPyPython機器學(xué)習(xí)模塊,它是Cython的擴展應(yīng)用。包含的機器學(xué)習(xí)算法有:

l  回歸

least squaresridge 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)

項目主頁:

http:///projects/mlpy

https://mlpy./

4.       Shogun  

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平臺上。

項目主頁:

http://www./

5.       MDP

The Modular toolkit for Data Processing (MDP) ,用于數(shù)據(jù)處理的模塊化工具包,一個Python數(shù)據(jù)處理框架。

從用戶的觀點,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é)工具。

項目主頁:

http://mdp-toolkit./

https://pypi./pypi/MDP/

6.       PyBrain

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ò)為一個實例。

項目主頁:

http://www./

https://github.com/pybrain/pybrain/

7.       BigML

BigML 使得機器學(xué)習(xí)為數(shù)據(jù)驅(qū)動決策和預(yù)測變得容易,BigML使用容易理解的交互式操作創(chuàng)建優(yōu)雅的預(yù)測模型。BigML使用BigML.io,捆綁Python。

項目主頁:

https:///

https://pypi./pypi/bigml

http://bigml./

8.       PyML

PyML是一個Python機器學(xué)習(xí)工具包, 為各分類和回歸方法提供靈活的架構(gòu)。它主要提供特征選擇、模型選擇、組合分類器、分類評估等功能。

項目主頁:

http://cmgm./~asab/pyml/tutorial/

http://pyml./

9.       Milk

MilkPython的一個機器學(xué)習(xí)工具箱,其重點是提供監(jiān)督分類法與幾種有效的分類分析:SVMs(基于libsvm),K-NN,隨機森林經(jīng)濟和決策樹。它還可以進行特征選擇。這些分類可以在許多方面相結(jié)合,形成不同的分類系統(tǒng)。

對于無監(jiān)督學(xué)習(xí),它提供K-meansaffinity propagation聚類算法。

項目主頁:

https://pypi./pypi/milk/

http:///software/milk

10.  PyMVPA

PyMVPA(Multivariate Pattern Analysis in Python)是為大數(shù)據(jù)集提供統(tǒng)計學(xué)習(xí)分析的Python工具包,它提供了一個靈活可擴展的框架。它提供的功能有分類、回歸、特征選擇、數(shù)據(jù)導(dǎo)入導(dǎo)出、可視化等

項目主頁:

http://www./

https://github.com/PyMVPA/PyMVPA

11.  Pattern 

PatternPythonweb挖掘模塊,它綁定了  Google、Twitter 、Wikipedia API,提供網(wǎng)絡(luò)爬蟲、HTML解析功能,文本分析包括淺層規(guī)則解析、WordNet接口、句法與語義分析、TF-IDFLSA等,還提供聚類、分類和圖網(wǎng)絡(luò)可視化的功能。

項目主頁:

http://www.clips./pages/pattern

https://pypi./pypi/Pattern

12.  pyrallel

Pyrallel(Parallel Data Analytics in Python)基于分布式計算模式的機器學(xué)習(xí)和半交互式的試驗項目,可在小型集群上運行,適用范圍:

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 data (with data locality when possible).

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

13.  Monte

Monte ( machine learning in pure Python)是一個純Python機器學(xué)習(xí)庫。它可以迅速構(gòu)建神經(jīng)網(wǎng)絡(luò)、條件隨機場、邏輯回歸等模型,使用inline-C優(yōu)化,極易使用和擴展。

項目主頁:

https://pypi./pypi/Monte

http://montepython.

14.  Orange

Orange 是一個基于組件的數(shù)據(jù)挖掘和機器學(xué)習(xí)軟件套裝,它的功能即友好,又很強大,快速而又多功能的可視化編程前端,以便瀏覽數(shù)據(jù)分析和可視化,基綁定了 Python以進行腳本開發(fā)。它包含了完整的一系列的組件以進行數(shù)據(jù)預(yù)處理,并提供了數(shù)據(jù)帳目,過渡,建模,模式評估和勘探的功能。其由C++ Python開發(fā),它的圖形庫是由跨平臺的Qt框架開發(fā)。

項目主頁:

https://pypi./pypi/Orange/

http://orange./

15.  Theano

Theano 是一個 Python 庫,用來定義、優(yōu)化和模擬數(shù)學(xué)表達式計算,用于高效的解決多維數(shù)組的計算問題。Theano的特點:

l  緊密集成Numpy

l  高效的數(shù)據(jù)密集型GPU計算

l  高效的符號微分運算

l  高速和穩(wěn)定的優(yōu)化

l  動態(tài)生成c代碼

l  廣泛的單元測試和自我驗證

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的女兒,后來成為了畢達哥拉斯的老婆。

項目主頁:

http:///tutorial/

https://pypi./pypi/Theano

16.      Pylearn2

Pylearn2建立在theano上,部分依賴scikit-learn上,目前Pylearn2正處于開發(fā)中,將可以處理向量、圖像、視頻等數(shù)據(jù),提供MLP、RBM、SDA等深度學(xué)習(xí)模型。Pylearn2的目標是:

  • Researchers add features as they need them. We avoid getting bogged down by too much top-down planning in advance.
  • A machine learning toolbox for easy scientific experimentation.
  • All models/algorithms published by the LISA lab should have reference implementations in Pylearn2.
  • Pylearn2 may wrap other libraries such as scikits.learn when this is practical
  • Pylearn2 differs from scikits.learn in that Pylearn2 aims to provide great flexibility and make it possible for a researcher to do almost anything, while scikits.learn aims to work as a “black box” that can produce good results even if the user does not understand the implementation
  • Dataset interface for vector, images, video, ...
  • Small framework for all what is needed for one normal MLP/RBM/SDA/Convolution experiments.
  • Easy reuse of sub-component of Pylearn2.
  • Using one sub-component of the library does not force you to use / learn to use all of the other sub-components if you choose not to.
  • Support cross-platform serialization of learned models.
  • Remain approachable enough to be used in the classroom (IFT6266 at the University of Montreal).

項目主頁:

http:///software/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查找

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多