文档章节

Python机器学习库

renew
 renew
发布于 2014/07/02 11:57
字数 2481
阅读 239
收藏 22

        Python在科学计算领域,有两个重要的扩展模块:Numpy和Scipy。

        其中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/

        http://scikit-learn.org/

        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/

        http://nltk.org/

         

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

        https://mlpy.fbk.eu/

 

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以神经网络为核心,所有的训练方法都以神经网络为一个实例。

        项目主页:

        http://www.pybrain.org/

        https://github.com/pybrain/pybrain/

 

7. BigML

        BigML 使得机器学习为数据驱动决策和预测变得容易,BigML使用容易理解的交互式操作创建优雅的预测模型。BigML使用BigML.io,捆绑Python。

        项目主页:

        https://bigml.com/

        https://pypi.python.org/pypi/bigml

        http://bigml.readthedocs.org/

 

8. PyML

        PyML是一个Python机器学习工具包, 为各分类和回归方法提供灵活的架构。它主要提供特征选择、模型选择、组合分类器、分类评估等功能。

        项目主页:

        http://cmgm.stanford.edu/~asab/pyml/tutorial/

        http://pyml.sourceforge.net/

 

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工具包,它提供了一个灵活可扩展的框架。它提供的功能有分类、回归、特征选择、数据导入导出、可视化等

        项目主页:

        http://www.pymvpa.org/

        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/

        http://orange.biolab.si/

 

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/

renew
粉丝 4
博文 19
码字总数 13554
作品 0
丰台
程序员
私信 提问
入门数据分析,从python开始

Python是目前学习数据分析课程中,非常重要的一块,也是目前非常受行业欢迎的。因此,学习非常重要,下面是Python学习的一些重要步骤和知识! 步骤1:熟悉Python 对数据科学,Python和R都是不...

weixin_41852491
2018/05/28
0
0
5位专家谈Python为何更适合做AI/机器学习

为什么Python会在这股深度学习浪潮中成为编程语言的头牌?听听大牛如何解释吧! 1.Python网络编程框架Twisted的创始人Glyph Lefkowitz(glyph): 编程是一项社交活动——Python社区已经认识...

Python新世界
2018/07/29
0
0
七步教你Python进行机器学习

网络上有很多Python学习资源和机器学习学习资源,对于一个新手而言,如何开始呢?本篇文章将教你七步学会使用Python进行机器学习。 万事开头难。面对纷繁万千的网络学习资源,不知如何下手,...

断桥残雪断桥残雪
2015/11/20
4.1K
0
机器学习的最佳学习路线原来只有四步

AI这个词相信大家都非常熟悉,近几年来人工智能圈子格外热闹,光是AlphoGo就让大家对它刮目相看。今天小天就来跟大家唠一唠如何进军人工智能的第一步——机器学习。 在机器学习领域,Python已...

ufv59to8
2018/05/12
0
0
仅需10分钟:开启你的机器学习之路

机器学习之路虽漫漫无垠,但莘莘学子依然纷纷投入到机器学习的洪流中。如何更有效地开始机器学习呢?所谓「八仙过海,各显神通」,本文作者以Python语言为工具进行机器学习,并以Kaggle竞赛中...

机器之心
05/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

浅谈prototype原型模式

一、原型模式简介 原型(Prototype)模式是一种对象创建型模式,他采取复制原型对象的方法来创建对象的实例。使用原型模式创建的实例,具有与原型一样的数据。 原型模式的特点: 1、由原型对...

青衣霓裳
30分钟前
8
0
shell mysql 备份

#!/bin/bash time2=$(date "+%Y-%m-%d-%H:%M:%S") /usr/local/mysql/bin/mysqldump -uroot -p ad > /usr/local/mysql/backup/"$time2".sql 变量引用原来是这么用的。......

奋斗的小牛
37分钟前
4
0
Jmeter监控Linux服务器操作

系统:Win7 64位 工具:Jmeter 4.0 要准备好的插件:JMeterPlugins-Standard-1.4.0,ServerAgent-2.2.1 解压JMeterPlugins-Standard-1.4.0.zip,将其中\lib\ext\JMeterPlugins-Standard.jar......

魔鬼妹子
38分钟前
5
0
系列文章:云原生Kubernetes日志落地方案

在Logging这块做了几年,最近1年来越来越多的同学来咨询如何为Kubernetes构建一个日志系统或者是来求助在这过程中遇到一系列问题如何解决,授人以鱼不如授人以渔,于是想把我们这些年积累的经...

Mr_zebra
38分钟前
5
0
入门必备!快速学会用Aspose.Words在表格中插入和删除列!

Aspose.Words For .Net(点击下载)是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft W...

mnrssj
43分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部