12种Python 机器学习 & 数据挖掘 工具包

作为一种解释型语言,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/

AMiner 唯一官方微信公众号:学术头条(ID:SciTouTiao)。

AMiner 官方网站 网站 https://www.aminer.cn/

AMiner学术头条
AMiner学术头条

AMiner平台由清华大学计算机系研发,拥有我国完全自主知识产权。系统2006年上线,吸引了全球220个国家/地区800多万独立IP访问,数据下载量230万次,年度访问量1000万,成为学术搜索和社会网络挖掘研究的重要数据和实验平台。

https://www.aminer.cn/
专栏二维码
入门数据挖掘机器学习Python
6
相关数据
逻辑回归技术

逻辑回归(英语:Logistic regression 或logit regression),即逻辑模型(英语:Logit model,也译作“评定模型”、“分类评定模型”)是离散选择法模型之一,属于多重变量分析范畴,是社会学、生物统计学、临床、数量心理学、计量经济学、市场营销等统计实证分析的常用方法。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

随机森林技术

在机器学习中,随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。 Leo Breiman和Adele Cutler发展出推论出随机森林的算法。而"Random Forests"是他们的商标。这个术语是1995年由贝尔实验室的Tin Kam Ho所提出的随机决策森林(random decision forests)而来的。这个方法则是结合Breimans的"Bootstrap aggregating"想法和Ho的"random subspace method" 以建造决策树的集合。

数据挖掘技术

数据挖掘(英语:data mining)是一个跨学科的计算机科学分支 它是用人工智能、机器学习、统计学和数据库的交叉方法在相對較大型的数据集中发现模式的计算过程。 数据挖掘过程的总体目标是从一个数据集中提取信息,并将其转换成可理解的结构,以进一步使用。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

支持向量机技术

在机器学习中,支持向量机是在分类与回归分析中分析数据的监督式学习模型与相关的学习算法。给定一组训练实例,每个训练实例被标记为属于两个类别中的一个或另一个,SVM训练算法创建一个将新的实例分配给两个类别之一的模型,使其成为非概率二元线性分类器。SVM模型是将实例表示为空间中的点,这样映射就使得单独类别的实例被尽可能宽的明显的间隔分开。然后,将新的实例映射到同一空间,并基于它们落在间隔的哪一侧来预测所属类别。

条件随机场技术

条件随机场(conditional random field,简称 CRF),是一种鉴别式机率模型,是随机场的一种,常用于标注或分析序列资料,如自然语言文字或是生物序列。 如同马尔可夫随机场,条件随机场为无向性之图模型,图中的顶点代表随机变量,顶点间的连线代表随机变量间的相依关系,在条件随机场当中,随机变量 Y 的分布为条件机率,给定的观察值则为随机变量 X。原则上,条件随机场的图模型布局是可以任意给定的,一般常用的布局是链接式的架构,链接式架构不论在训练(training)、推论(inference)、或是解码(decoding)上,都存在有效率的算法可供演算。 条件随机场跟隐马尔可夫模型常被一起提及,条件随机场对于输入和输出的机率分布,没有如隐马尔可夫模型那般强烈的假设存在。 线性链条件随机场应用于标注问题是由Lafferty等人与2001年提出的。

特征选择技术

在机器学习和统计学中,特征选择(英语:feature selection)也被称为变量选择、属性选择或变量子集选择。 它是指:为了构建模型而选择相关特征(即属性、指标)子集的过程。

分布式计算技术技术

在计算机科学中,分布式计算,又译为分散式運算。这个研究领域,主要研究分布式系统如何进行计算。分布式系统是一组电脑,通过网络相互链接传递消息与通信后并协调它们的行为而形成的系统。组件之间彼此进行交互以实现一个共同的目标。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
暂无评论
暂无评论~