一些常用的Python机器学习库 - 奇酷学院
400-807-8991
奇酷学院专注于Python培训,欢迎您咨询本校Python培训班
网站首页 >Python培训 >Python教程 >一些常用的Python机器学习库

一些常用的Python机器学习库

来源:奇酷学院 点击量: 发表于:

毫无疑问,在过去几年,神经网络和机器学习已经成为科技领域里讨论最热的话题之一。很容易看出他们正在解决所有用户感兴趣的东西,例如语音识别、图像识别,甚至是音乐合成。基于此,在这篇文章里,我列了一个关于机器学习最好用的python库,希望对你的学习和工作有一些帮助。

Scikit-Learn机器学习库

1.Scikit-Learn

Scikit Learn7是我们在CB Insights选用的机器学习工具。我们用它进行分类、特征选择、特征提取和聚集。

我们最爱的一点是它拥有易用的一致性API,并提供了很多开箱可用的求值、诊断和交叉验证方法。锦上添花的是它底层使用Scipy数据结构,与Python中其余使用Scipy、Numpy、Pandas和Matplotlib进行科学计算的部分适应地很好。因此,如果你想可视化分类器的性能(比如,使用精确率与反馈率(precision-recall)图表,或者接收者操作特征(Receiver Operating Characteristics,ROC)曲线),Matplotlib可以帮助进行快速可视化。

2.Statsmodels

Statsmodels是另一个聚焦在统计模型上的强大的库,主要用于预测性和探索性分析。如果你想拟合线性模型、进行统计分析,或者预测性建模,那么Statsmodels非常适合。它提供的统计测试相当全面,覆盖了大部分情况的验证任务。

如果你是R或者S的用户,它也提供了某些统计模型的R语法。它的模型同时也接受Numpy数组和Pandas数据帧,让中间数据结构成为过去!

PyMC机器学习库

3.PyMC

PyMC是做贝叶斯曲线的工具。它包含贝叶斯模型、统计分布和模型收敛的诊断工具,也包含一些层次模型。如果想进行贝叶斯分析,你应该看看。

4.Shogun

Shogun1是个聚焦在支持向量机(Support Vector Machines, SVM)上的机器学习工具箱,用C++编写。它正处于积极开发和维护中,提供了Python接口,也是文档化最好的接口。但是,相对于Scikit-learn,我们发现它的API比较难用。而且,也没提供很多开箱可用的诊断和求值算法。但是,速度是个很大的优势。

Gensim

5.Gensim

Gensim被定义为“人们的主题建模工具(topic modeling for humans)”。它的主页上描述,其焦点是狄利克雷划分(Latent Dirichlet Allocation, LDA)及变体。不同于其他包,它支持自然语言处理,能将NLP和其他机器学习算法更容易组合在一起。

如果你的领域在NLP,并想进行聚集和基本的分类,你可以看看。目前,它们引入了Google的基于递归神经网络(Recurrent Neural Network)的文本表示法word2vec。这个库只使用Python编写。

6.Orange

Orange是这篇文章列举的所有库中唯一带有图形用户界面(Graphical User Interface,GUI)的。对分类、聚集和特征选择方法而言,它是相当全面的,还有些交叉验证的方法。在某些方面比Scikit-learn还要好(分类方法、一些预处理能力),但与其他科学计算系统(Numpy, Scipy, Matplotlib, Pandas)的适配上比不上Scikit-learn。

但是,包含GUI是个很重要的优势。你可以可视化交叉验证的结果、模型和特征选择方法(某些功能需要安装Graphviz)。对大多数算法,Orange都有自己的数据结构,所以你需要将数据包装成Orange兼容的数据结构,这使得其学习曲线更陡。

Theano

7.Theano

Theano是最成熟的深度学习库。它提供了不错的数据结构(张量,tensor)来表示神经网络的层,对线性代数来说很高效,与Numpy的数组类似。需要注意的是,它的API可能不是很直观,用户的学习曲线会很高。有很多基于Theano的库都在利用其数据结构。它同时支持开箱可用的GPU编程。

8.Hebel

Hebel是另一个带有GPU支持的神经网络库,开箱可用。你可以通过YAML文件(与Pylearn2类似)决定神经网络的属性,提供了将神级网络和代码友好分离的方式,可以快速地运行模型。由于开发不久,就深度和广度上说,文档很匮乏。就神经网络模型来说,也是有局限的,因为只支持一种神经网络模型(正向反馈,feed-forward)。

热门文章

开课提醒

郑州 石家庄

郑州Python
开课时间离开课还有

-

石家庄Python
开课时间离开课还有

-

奇酷学院培训课程

猜你喜欢

Python基础教程

Python视频教程