作为一种解释型语言, Python 的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块, 而非使用大括号或者关键词). 相比于 C++ 或 Java,Python 让开发者能够用更少的代码表达想法. 不管是小型还是大型程序, 该语言都试图让程序的结构清晰明了. 我们今天为大家介绍 12 种 Python 机器学习 & 数据挖掘工具包.
1, PyBrain
[PyBrain] 是一个用于 Python 的模块化机器学习库. 其目标是为机器学习任务和各种预定义环境提供灵活, 易用且功能强大的算法, 以测试和比较您的算法.
PyBrain 包含用于神经网络的算法, 用于强化学习 (以及两者的组合), 用于无监督学习和进化. 由于当前大多数问题涉及连续状态和动作空间, 因此必须使用函数逼近器(如神经网络) 来处理大维数. 我们的库是围绕内核中的神经网络构建的, 并且所有训练方法都接受神经网络作为待训练的实例. 这使得 PyBrain 成为实际任务的强大工具.
官方主页: http://www.pybrain.org/
2, Theano
[Theano] 是一个 Python 库, 允许您有效地定义, 优化和评估涉及多维数组的数学表达式.
Theano 特色:
与 NumPy 紧密集成 - 在 Theano 编译的函数中使用 numpy.ndarray.
透明使用 GPU - 比 CPU 更快地执行数据密集型计算.
有效的象征性差异 - Theano 将您的衍生品用于具有一个或多个输入的函数.
速度和稳定性优化 - log(1+x)即使 x 非常小, 也能获得正确的答案.
动态 C 代码生成 - 更快地评估表达式.
广泛的单元测试和自我验证 - 检测和诊断多种类型的错误.
官方主页: http://deeplearning.net/software/theano/
3, Pylearn2
[Pylearn2] 是一个基于 Theano 的机器学习库, 它的大部分功能是基于 Theano 顶层实现的. 这意味着用户可以用数学表达式去编写 Pylearn2 插件(新模型, 算法等),Theano 不仅会帮助用户优化这些表达式, 并且将这些表达式编译到 CPU 或者 GPU 中.
官方主页: http://scikit-learn.org/
代码主页: https://github.com/lisa-lab/pylearn2
4, Pyrallel
[Pyrallel ] Python 中的并行数据分析, 用于研究机器学习和其他半交互式数据分析任务的分布式计算模式的实验项目.
代码主页: http://github.com/pydata/pyrallel
5, PyMVPA
[PyMVPA] 是一个 Python 包, 旨在简化大型数据集的统计学习分析. 它提供了一个可扩展的框架, 具有高级接口, 可用于分类, 回归, 特征选择, 数据导入和导出等各种算法. 它旨在与相关软件包很好地集成, 例如 scikit-learn,shogun,MDP 等. 虽然它不仅限于神经成像领域, 但它非常适合这样的数据集. PyMVPA 是免费软件, 只需要运行免费软件.
官方主页: http://www.pymvpa.org/
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 上受支持.
官方主页: http://pyml.sourceforge.net/
来源: http://www.tuicool.com/articles/JFbMZrq