这篇文┞仿的目标就是列举并描述Python可用的最有效的机械进修对象和库。这个列表中,我们不请求这些库是用Python写的,只要有Python接口就够了。我们在最后也有一末节关于深度进修(Deep Learning)的内容,因为它比来也吸引了相当多的存眷。
Hebel是另一个带有GPU支撑的神经收集库,开箱可用。你可以经由过程YAML文件(与Pylearn2类似)决定神经收集的属性,供给了精力级收集和代码友爱分别的方法,可以快速地运行模型。因为开辟不久,就深度和广度上说,文档很匮乏。就神经收集模型来说,也是有局限的,因为只支撑一种神经收集模型(正向反馈,feed-forward)。然则,它是用纯Python编写,将会是很友爱的看维因为包含很多实用函数,比如调剂器和监督器,其他库中我们并没有发明这些功能。
当然,它也有些缺点;个一一个是对象和库过于分散。如不雅你是拥有unix思维(unix-minded)的人,你会认为每个对象只做一件事并且把它做好是异常便利的。然则你也须要知道不合库和对象的优缺点,如许在构建体系时才能做出合理的决定计划。对象本身不克不及改良体系或产品,然则应用精确的对象,我们可以工作得更高效,临盆率更高。是以懂得精确的对象,对你的工作范畴是异常重要的。
我们的目标不是列出Python中所有机械进修库(搜刮“机械进修”时Python包索引(PyPI)返回了139个结不雅),而是列出我们所知的有效处且保护优胜的那些。别的,尽管有些模块可以用于多种机械进修义务,我们只列出重要核心在机械进修的库。比如,固然Scipy包含一些聚类算法,然则它的主核心不是机械进修而是周全的科学计算对象集。是以我们清除了Scipy(尽管我们也应用它!)。
另一个须要提到的是,我们同样会根据与其他科学计算库的集成效不雅来评估这些库,因为机械进修(有监督的或者无监督的)也是数据处理体系的一部分。如不雅你应用的库与数据处理体系其他的库不相配,你就要花大年夜量时光创建不合库之间的中心层。在对象集中有个很棒的库很重要,但这个库能与其他库优胜集成也同样重要。
如不雅你善于其他说话,但也想应用Python包,我们也简单地描述若何与Python进行集成来应用这篇文┞仿列出的库。
Scikit-Learn
Python是最好的编程说话之一,在科学计算顶用处广泛:计算机视觉、人工智能、数学、天文等。它同样实用于机械进修也是料想之中的事。
Scikit Learn是我们在CB Insights选用的机械进修对象。我们用它进行分类、特点选择、特点提取和集合。我们最爱的一点是它拥有易用的一致性API,并供给了很多开箱可用的求值、诊断和交叉验证办法(是不是听起来很熟悉?Python也供给了“电池已备(译注:指开箱可用)”的办法)。锦上添花的是它底层应用Scipy数据构造,与Python中其余应用Scipy、Numpy、Pandas和Matplotlib进行科学计算的部分适应地很好。是以,如不雅你想可视化分类器的机能(比如,应用精确率与反馈率(precision-recall)图表,或者接收者操作特点(Receiver Operating Characteristics,ROC)曲线),Matplotlib可以赞助进行快速可视化。推敲到花在清理和构造数据的时光,应用这个库会异常便利,因为它可以慎密集成到其他科学计算包上。
别的,它还包含有限的天然说话处理特点提取才能,以及词袋(bag of words)、tfidf(Term Frequency Inverse Document Frequency算法)、预处理(停用词/stop-words,自定义预处理,分析器)。此外,如不雅你想快速对小数据集(toy dataset)进行不合基准测试的话,它自带的数据集模块供给了常见和有效的数据集。你还可以根据这些数据集创建本身的小数据集,如许在将模型应用到真实世比赛之前,你可以按照本身的目标来考验模型是否相符期望。对参数最优化和参数调剂,它也供给了网格搜刮和随机搜刮。如不雅没有强大年夜的社区支撑,或者保护得不好,这些特点都弗成能实现。我们期盼它的第一个稳定宣布版。
Statsmodels
Statsmodels是另一个聚焦在统计模型上的强大年夜的看维重要用于猜测性和摸索性分析。如不雅你想拟合线性模型、进行统计分析,或者猜测性建模,那么Statsmodels异常合适。它供给的统计测试相当周全,覆盖了大年夜部分情况的验证义务。如不雅你是R或者S的用户,它也供给了某些统计模型的R语法。它的模型同时也接收Numpy数组和Pandas数据帧,让中心数据结构成为以前!
PyMC
PyMC是做贝叶斯曲线的对象。它包含贝叶斯模型、统计分布和模型收敛的┞凤断对象,也包含一些层次模型。如不雅想进行贝叶斯分析,你应当看看。
Shogun
Shogun是个聚焦在支撑向量机(Support Vector Machines, SVM)上的机械进修对象箱,用C++编写。它正处于积极开辟和保护中,供给了Python接口,也是文档化最好的接口。然则,相对于Scikit-learn,我们发明它的API比较难用。并且,也没供给很多开箱可用的┞凤断和求值算法。然则,速度是个很大年夜的优势。
Gensim
Gensim被定义为“人们的主题建模对象(topic modeling for humans)”。它的主页膳绫氰述,其核心是狄利渴攀雷划分(Latent Dirichlet Allocation, LDA)及变体。不合于其他包,它支撑天然说话处理,能将NLP和其他机械进修算法更轻易组合在一路。如不雅你的范畴在NLP,并想进行集合和根本的分类,你可以看看。今朝,它们惹人了Google的基于递归神经收集(Recurrent Neural Network)的文本表示法word2vec。这个库只应用Python编写。
Orange
Orange是这篇文┞仿列举的所有库中独一带有图形用户界面(Graphical User Interface,GUI)的。对分类、集合和特点选择办法而言,它是相当周全的,还有些交叉验证的办法。在某些方面比Scikit-learn还要好(分类办法、一些预处理才能),但与其他科学计算体系(Numpy, Scipy, Matplotlib, Pandas)的适配上比不上Scikit-learn。
推荐阅读
日常->预发->线上日常上平日只有一台机械用来集成,所有人的开辟分支会在这膳绫擎做归并安排。切换窗口web体系常见的开辟流程:常用快捷键当一个应用有很多人在膳绫擎开辟,并被很多应用依>>>详细阅读
本文标题:Python语言下的机器学习库
地址:http://www.17bianji.com/lsqh/35921.html
1/2 1