Colinxuan 2018-10-21
作为一种解释型语言,Python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词)。相比于C++或Java,Python让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。我们今天为大家介绍12种Python机器学习&数据挖掘工具包。
1. PyBrain
【PyBrain】是一个用于Python的模块化机器学习库。其目标是为机器学习任务和各种预定义环境提供灵活,易用且功能强大的算法,以测试和比较您的算法。
PyBrain包含用于神经网络的算法,用于强化学习(以及两者的组合),用于无监督学习和进化。由于当前大多数问题涉及连续状态和动作空间,因此必须使用函数逼近器(如神经网络)来处理大维数。我们的库是围绕内核中的神经网络构建的,并且所有训练方法都接受神经网络作为待训练的实例。这使得PyBrain成为实际任务的强大工具。
2. Theano
【Theano】是一个Python库,允许您有效地定义,优化和评估涉及多维数组的数学表达式。
Theano特色:
官方主页:http://deeplearning.net/software/theano/
3. Pylearn2
【Pylearn2】是一个基于Theano的机器学习库,它的大部分功能是基于Theano顶层实现的。这意味着用户可以用数学表达式去编写Pylearn2插件(新模型、算法等),Theano不仅会帮助用户优化这些表达式,并且将这些表达式编译到CPU或者GPU中。
代码主页:https://github.com/lisa-lab/pylearn2
4. Pyrallel
【Pyrallel 】 Python中的并行数据分析,用于研究机器学习和其他半交互式数据分析任务的分布式计算模式的实验项目。
代码主页:http://github.com/pydata/pyrallel
5. PyMVPA
【PyMVPA】是一个Python包,旨在简化大型数据集的统计学习分析。它提供了一个可扩展的框架,具有高级接口,可用于分类,回归,特征选择,数据导入和导出等各种算法。它旨在与相关软件包很好地集成,例如scikit-learn,shogun,MDP等。虽然它不仅限于神经成像领域,但它非常适合这样的数据集。PyMVPA是免费软件,只需要运行免费软件。
6. Milk
【Milk】是Python中的机器学习工具包,它的重点是有多种分类器的监督分类:SVM(基于libsvm),k-NN,随机森林,决策树。它还执行功能选择。这些分类器可以以多种方式组合以形成不同的分类系统。
官方主页:http://www.luispedro.org/software/milk
代码主页:https://github.com/luispedro/milk
7. Monte
【Monte】是用于构建基于梯度的学习机器的Python框架,如神经网络,条件随机场,逻辑回归等.Monte包含模块(包含参数,成本函数和梯度函数)和训练器 (可以通过最小化其在训练数据上的成本函数来调整模块的参数。
模块通常由其他模块组成,这些模块又可以包含其他模块等。像这样的可分解系统的梯度可以通过反向传播来计算。
官方主页:http://montepython.sourceforge.net/
8. scikit-learn
【scikit-learn】是一个用于Python编程语言的开源机器学习库。它具有各种分类、回归和聚类算法,包括支持向量机、逻辑回归、朴素贝叶斯、随机森林、梯度增强、k均值和DBSCAN,旨在与Python数值和科学库NumPy和SciPy互操作。
官方主页:http://scikit-learn.org/stable/
代码主页:https://github.com/scikit-learn/scikit-learn
9. pandas
【pandas】是一个开源的,BSD许可的库,为Python编程语言提供高性能,易于使用的数据结构和数据分析工具。
官方主页:http://pandas.pydata.org/
代码主页:https://github.com/pandas-dev/pandas
10. mlpy
【mlpy】是一个基于NumPy / SciPy和GNU Scientific Libraries的机器学习Python模块。mlpy为监督和无监督问题提供了广泛的最先进的机器学习方法,旨在找到模块化、可维护性、可重复性、可用性和效率之间的合理折衷。mlpy是多平台的,它适用于Python 2和3;它是开源的,在GNU通用公共许可证版本3下发布。
官方主页:http://mlpy.sourceforge.net/
11. MDP
【MDP】是一种Python数据处理框架。从用户的角度来看,MDP是监督和无监督学习算法和其他数据处理单元的集合,可以组合成数据处理序列和更复杂的前馈网络架构。从科学开发人员的角度来看,MDP是一个模块化框架,可以轻松扩展。新算法的实现简单直观。然后,新实现的单元将自动与库的其余部分集成。
可用算法的基础正在稳步增长,包括信号处理方法(主成分分析,独立分量分析,慢特征分析),流形学习方法([Hessian]局部线性嵌入),几种分类器,概率方法(因子分析,RBM) ,数据预处理方法等等。
官方主页:http://mdp-toolkit.sourceforge.net/
12. PyML
【PyML】是一个用Python编写的机器学习的交互式面向对象框架。PyML侧重于SVM和其他内核方法。它在Linux和Mac OS X上受支持。