Python機器學習庫
其中Numpy是一個用python實現的科學計算包。包括:一個強大的N維陣列物件Array;比較成熟的(廣播)函式庫;用於整合C/C++和Fortran程式碼的工具包;實用的線性代數、傅立葉變換和隨機數生成函式。
SciPy是一個開源的Python演算法庫和數學工具包,SciPy包含的模組有最優化、線性代數、積分、插值、特殊函式、快速傅立葉變換、訊號處理和影像處理、常微分方程求解和其他科學與工程中常用的計算。其功能與軟體MATLAB、Scilab和GNU Octave類似。
Numpy和Scipy常常結合著使用,Python大多數機器學習庫都依賴於這兩個模組,繪圖和視覺化依賴於matplotlib模組,matplotlib的風格與matlab類似。
Python機器學習庫非常多,而且大多數開源,主要有:
1. scikit-learn
scikit-learn 是一個基於SciPy和Numpy的開源機器學習模組,包括分類、迴歸、聚類系列演算法,主要演算法有SVM、邏輯迴歸、樸素貝葉斯、Kmeans、DBSCAN等,目前由INRI 資助,偶爾Google也資助一點。
專案主頁:
https://pypi.python.org/pypi/scikit-learn/
https://github.com/scikit-learn/scikit-learn
2. NLTK
NLTK(Natural Language Toolkit)是Python的自然語言處理模組,包括一系列的字元處理和語言統計模型。NLTK 常用於學術研究和教學,應用的領域有語言學、認知科學、人工智慧、資訊檢索、機器學習等。 NLTK提供超過50個語料庫和詞典資源,文字處理庫包括分類、分詞、詞幹提取、解析、語義推理。可穩定執行在Windows, Mac OS X和Linux平臺上.
專案主頁:
http://sourceforge.net/projects/nltk/
https://pypi.python.org/pypi/nltk/
3. Mlpy
Mlpy是基於NumPy/SciPy的Python機器學習模組,它是Cython的擴充套件應用。包含的機器學習演算法有:
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)
專案主頁:
http://sourceforge.net/projects/mlpy
4. Shogun
Shogun是一個開源的大規模機器學習工具箱。目前Shogun的機器學習功能分為幾個部分:feature表示,feature預處理, 核函式表示,核函式標準化,距離表示,分類器表示,聚類方法,分佈, 效能評價方法,迴歸方法,結構化輸出學習器。
SHOGUN 的核心由C++實現,提供 Matlab、 R、 Octave、 Python介面。主要應用在linux平臺上。
專案主頁:
http://www.shogun-toolbox.org/
5. MDP
The Modular toolkit for Data Processing (MDP) ,用於資料處理的模組化工具包,一個Python資料處理框架。
從使用者的觀點,MDP是能夠被整合到資料處理序列和更復雜的前饋網路結構的一批監督學習和非監督學習演算法和其他資料處理單元。計算依照速度和記憶體需求而高效的執行。從科學開發者的觀點,MDP是一個模組框架,它能夠被容易地擴充套件。新演算法的實現是容易且直觀的。新實現的單元然後被自動地與程式庫的其餘部件進行整合。MDP在神經科學的理論研究背景下被編寫,但是它已經被設計為在使用可訓練資料處理演算法的任何情況中都是有用的。其站在使用者一邊的簡單性,各種不同的隨時可用的演算法,及應用單元的可重用性,使得它也是一個有用的教學工具。
專案主頁:
http://mdp-toolkit.sourceforge.net/
https://pypi.python.org/pypi/MDP/
6. PyBrain
PyBrain(Python-Based Reinforcement Learning, Artificial Intelligence and Neural Network)是Python的一個機器學習模組,它的目標是為機器學習任務提供靈活、易應、強大的機器學習演算法。(這名字很霸氣)
PyBrain正如其名,包括神經網路、強化學習(及二者結合)、無監督學習、進化演算法。因為目前的許多問題需要處理連續態和行為空間,必須使用函式逼近(如神經網路)以應對高維資料。PyBrain以神經網路為核心,所有的訓練方法都以神經網路為一個例項。
專案主頁:
https://github.com/pybrain/pybrain/
7. BigML
BigML 使得機器學習為資料驅動決策和預測變得容易,BigML使用容易理解的互動式操作建立優雅的預測模型。BigML使用BigML.io,捆綁Python。
專案主頁:
https://pypi.python.org/pypi/bigml
8. PyML
PyML是一個Python機器學習工具包, 為各分類和迴歸方法提供靈活的架構。它主要提供特徵選擇、模型選擇、組合分類器、分類評估等功能。
專案主頁:
http://cmgm.stanford.edu/~asab/pyml/tutorial/
9. Milk
Milk是Python的一個機器學習工具箱,其重點是提供監督分類法與幾種有效的分類分析:SVMs(基於libsvm),K-NN,隨機森林經濟和決策樹。它還可以進行特徵選擇。這些分類可以在許多方面相結合,形成不同的分類系統。
對於無監督學習,它提供K-means和affinity propagation聚類演算法。
專案主頁:
https://pypi.python.org/pypi/milk/
http://luispedro.org/software/milk
10. PyMVPA
PyMVPA(Multivariate Pattern Analysis in Python)是為大資料集提供統計學習分析的Python工具包,它提供了一個靈活可擴充套件的框架。它提供的功能有分類、迴歸、特徵選擇、資料匯入匯出、視覺化等
專案主頁:
https://github.com/PyMVPA/PyMVPA
11. Pattern
Pattern是Python的web挖掘模組,它繫結了 Google、Twitter 、Wikipedia API,提供網路爬蟲、HTML解析功能,文字分析包括淺層規則解析、WordNet介面、句法與語義分析、TF-IDF、LSA等,還提供聚類、分類和圖網路視覺化的功能。
專案主頁:
http://www.clips.ua.ac.be/pages/pattern
https://pypi.python.org/pypi/Pattern
12. pyrallel
Pyrallel(Parallel Data Analytics in Python)基於分散式計算模式的機器學習和半互動式的試驗專案,可在小型叢集上執行,適用範圍:
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.python.org/pypi/pyrallel
http://github.com/pydata/pyrallel
13. Monte
Monte ( machine learning in pure Python)是一個純Python機器學習庫。它可以迅速構建神經網路、條件隨機場、邏輯迴歸等模型,使用inline-C優化,極易使用和擴充套件。
專案主頁:
https://pypi.python.org/pypi/Monte
http://montepython.sourceforge.net
14. Orange
Orange 是一個基於元件的資料探勘和機器學習軟體套裝,它的功能即友好,又很強大,快速而又多功能的視覺化程式設計前端,以便瀏覽資料分析和視覺化,基繫結了 Python以進行指令碼開發。它包含了完整的一系列的元件以進行資料預處理,並提供了資料帳目,過渡,建模,模式評估和勘探的功能。其由C++ 和 Python開發,它的圖形庫是由跨平臺的Qt框架開發。
專案主頁:
https://pypi.python.org/pypi/Orange/
15. Theano
Theano 是一個 Python 庫,用來定義、優化和模擬數學表示式計算,用於高效的解決多維陣列的計算問題。Theano的特點:
l 緊密整合Numpy
l 高效的資料密集型GPU計算
l 高效的符號微分運算
l 高速和穩定的優化
l 動態生成c程式碼
l 廣泛的單元測試和自我驗證
自2007年以來,Theano已被廣泛應用於科學運算。theano使得構建深度學習模型更加容易,可以快速實現下列模型:
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最有權勢的Milo的女兒,後來成為了畢達哥拉斯的老婆。
專案主頁:
http://deeplearning.net/tutorial/
https://pypi.python.org/pypi/Theano
16. Pylearn2
Pylearn2建立在theano上,部分依賴scikit-learn上,目前Pylearn2正處於開發中,將可以處理向量、影像、視訊等資料,提供MLP、RBM、SDA等深度學習模型。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://deeplearning.net/software/pylearn2/
https://github.com/lisa-lab/pylearn2
還有其他的一些Python的機器學習庫,如:
pmll(https://github.com/pavlov99/pmll)
pymining(https://github.com/bartdag/pymining)
ease (https://github.com/edx/ease)
textmining(http://www.christianpeccei.com/textmining/)
更多的機器學習庫可通過https://pypi.python.org/pypi查詢。
原文地址:http://qxde01.blog.163.com/blog/static/67335744201368101922991/
相關文章
- 【機器學習】--Python機器學習庫之Numpy機器學習Python
- Python常用的機器學習庫Python機器學習
- 最好的Python機器學習庫Python機器學習
- 探索 Python、機器學習和 NLTK 庫Python機器學習
- Python語言下的機器學習庫Python機器學習
- 五個常用的機器學習python庫!機器學習Python
- Python機器學習筆記:sklearn庫的學習Python機器學習筆記
- 【盤點】Python機器學習常用的10個庫!Python機器學習
- 最好用最流行的Python機器學習庫合集!Python機器學習
- Python機器學習庫,看看你用過幾個?Python機器學習
- Python機器學習會應用到哪些庫?Python入門學習Python機器學習
- Python機器學習常用庫,你用過哪幾個?Python機器學習
- Scikit-learn 機器學習庫介紹!【Python入門】機器學習Python
- 實用!7個強大的Python機器學習庫!⛵Python機器學習
- Python 計算生態中那些著名的庫-機器學習Python機器學習
- 常用的Python機器學習庫合集,你用過幾個?Python機器學習
- python機器學習庫scikit-learn:SVR的基本應用Python機器學習VR
- 從事python機器學習,這些三方庫很重要!Python機器學習
- jetson nano 安裝python機器學習三方庫問題NaNPython機器學習
- 十大Python機器學習常用庫python開發,你用過你個?Python機器學習
- 【推薦】最常用的Python機器學習及深度學習庫合集!Python機器學習深度學習
- 10個python常用且好用的機器學習及深度學習庫!Python機器學習深度學習
- Feature Tools:可自動構造機器學習特徵的Python庫機器學習特徵Python
- [機器學習] 低程式碼機器學習工具PyCaret庫使用指北機器學習
- 使用Python開始機器學習Python機器學習
- python機器學習實戰(二)Python機器學習
- [Python]-機器學習Python入門《Python機器學習手冊》-01-向量、矩陣和陣列Python機器學習矩陣陣列
- 為UCI機器學習庫引入簡單直觀的Python API(附程式碼)機器學習PythonAPI
- 演算法金 | 10 大必知的自動化機器學習庫(Python)演算法機器學習Python
- Python 機器學習及分析工具:ScipyPython機器學習
- 機器學習用java還是python?機器學習JavaPython
- Python 機器學習的必備技巧Python機器學習
- 《Python機器學習實踐》簡介Python機器學習
- [python學習]機器學習 -- 感知機Python機器學習
- 【筆記】《Python大戰機器學習》筆記Python機器學習
- 七步精通Python機器學習Python機器學習
- Scikit Learn: 在python中機器學習Python機器學習
- 25種Java機器學習工具和庫Java機器學習