1 numpy
NumPy几乎是一个无法回避的科学计算工具包,
。一个强大的N维数组对象Array;
。 比较成熟的(广播)函数库;
。 用于整合C/C++和Fortran代码的工具包;
。 实用的线性代数、傅里叶变换和随机数生成函数。
2 scipy
SciPy是一个开源的Python算法库和数学工具包,SciPy包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。其功能与软件MATLAB、Scilab和GNU Octave类似。 Numpy和Scipy常常结合着使用,Python大多数机器学习库都依赖于这两个模块。”—-引用自“Python机器学习库”。
3 matplotlib
绘图和可视化
4 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
5 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/
6 Mlpy
Mlpy是基于NumPy/SciPy的Python机器学习模块,它是Cython的扩展应用。包含的机器学习算法有:
回归
least squares, ridge regression, least angle regression, elastic net, kernel ridge regression, support vector machines (SVM), partial least squares (PLS)
分类
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
聚类
hierarchical clustering, Memory-saving Hierarchical Clustering, k-means
维度约减
(Kernel) Fisher discriminant analysis (FDA), Spectral Regression Discriminant Analysis (SRDA), (kernel) Principal component analysis (PCA)
项目主页:
http://sourceforge.net/projects/mlpy
https://mlpy.fbk.eu/
Shogun
Shogun是一个开源的大规模机器学习工具箱。目前Shogun的机器学习功能分为几个部分:feature表示,feature预处理,核函数表示,核函数标准化,距离表示,分类器表示,聚类方法,分布,性能评价方法,回归方法,结构化输出学习器。
SHOGUN 的核心由C++实现,提供 Matlab、 R、 Octave、 Python接口。主要应用在linux平台上。
项目主页:
http://www.shogun-toolbox.org/