《Python大规模机器学习》 —1.3.4Scikit-learn

举报
华章计算机 发表于 2020/02/14 19:55:22 2020/02/14
【摘要】 本节书摘来自华章计算机《Python大规模机器学习》 一书中第1章,第1.3.4节,作者是[荷]巴斯蒂安·贾丁(Bastiaan Sjardin)[意]卢卡·马萨罗(Luca Massaron)[意]阿尔贝托·博斯凯蒂(Alberto Boschetti),王贵财 刘春明 译。

1.3.4Scikit-learn

作为SciKits(SciPy工具包)的一部分,Scikit-learn是在Python中进行数据科学操作的核心。它提供了在数据预处理、监督学习、无监督学习、模型选择、验证和错误指标等方面你可能需要的所有内容。本书将详细讨论该包。

作为由David Cournapeau创建的Google Summer of Code的项目,Scikit-learn始于2007年,2013年后被InRIa(法国计算机科学与自动化研究所)的研究人员接管。

Scikit-learn提供数据处理模块(sklearn.preprocessing和sklearn.feature_extraction)、模型选择和验证(sklearn.cross_validation、sklearn.grid_search和sklearn.metrics)以及一组完整方法(sklearn.linear_model),其中,目标值(数值或概率)是输入变量的线性组合。

 网站:http://scikit-learn.org/stable/

 撰写本书时的版本:0.17.1

 建议安装命令:

 image.png

请注意,导入模块名为sklearn。

 

matplotlib包

matplotlib最初由John Hunter开发,是一个包含所有构建块的库,用于从数组创建质量图,并以交互方式将其可视化。

你能在PyLab模块中找到所有类似MATLAB的绘图框架。

 网站:http://matplotlib.org

 撰写本书时的版本:1.5.1

 建议安装命令:

 image.png

可以简单导入你的可视化需求:

 image.png

Gensim

Radim   Rˇehu°rˇek开发的Gensim是一个开源软件包,它适合通过使用平行可分布的在线算法来分析大型文本集。其高级功能实现了Latent Semantic Analysis(LSA)、Latent Dirichlet Allocation(LDA)主题建模和Google的word2vec,后者是一种功能强大的算法,能够将文本转换为矢量特征,用于监督机器学习和无监督机器学习。

 网站:http://radimrehurek.com/gensim/

 撰写本书时的版本:0.13.1

 建议安装命令:

 image.png

H2O

H2O是最初由H2O.ai(以前称为0xdata)创建的大数据分析开源框架,它可被R、Python、Scala和Java等编程语言使用。H2O允许使用独立机器(利用多处理)或Hadoop集群(例如AWS环境中的集群)实现向上及向外扩展。

 网站:http://www.h2o.ai

 撰写本书时的版本:3.8.3.3

为了安装软件包,首先需要在你的系统上下载并安装Java(由于H2O基于Java,需要安装Java开发工具包(JDK)1.8),安装步骤可以参考http://www.h2o.ai/download/h2o/python中提供的在线说明。

下面将安装步骤总结一下。

可以按照以下说明安装H2O及其Python API:

 image.png

执行上述步骤后将安装所需的软件包,然后即可安装该框架,注意,安装前需要卸载以前安装的全部软件包:

 image.png

若要安装与本书相同的版本,请使用以下命令更改最后的pip install命令:

 image.png

如果遇到问题,请访问H2O Google网上论坛,以获得有关问题的帮助:

https://groups.google.com/forum/#!forum/h2ostream

 

XGBoost

XGBoost是一个具有可扩展性、可移植性和分布式梯度的增强库(树集合机器学习算法)。它适用于Python、R、Java、Scala、Julia和C++,能在Hadoop和Spark集群中的单台机器上运行(利用多线程)。

 网站:https://xgboost.readthedocs.io/en/latest/

 撰写本书时的版本:0.4

有关安装XGBoost的详细说明,请参阅:

https://github.com/dmlc/xgboost/blob/master/doc/build.md。

Linux和Mac OS上安装XGBoost非常简单,但对Windows用户来说有点麻烦。为此,我们提供详细安装步骤便于让XGBoost在Windows上工作:

1.下载并安装Windows版的Git(https: //git-for-windows.github.io/)。

2.安装适用于Windows系统的Minimalist GNU for Windows(MinGW)编译器。这需要根据操作系统版本从http://www.mingw.org/下载。

3.从命令行执行以下操作:

 image.png

4.从命令行将64位系统的配置复制为默认配置:

 image.png

或者,复制常用的32位系统配置:

 image.png

5.复制配置文件后运行编译器,将其设置为使用四个线程,以加快编译过程:

 image.png

6.如果编译器设置过程无错误完成,则执行下面命令在Python中安装软件包:

 image.png

Theano

Theano是一个Python库,它允许用户有效定义、优化和评价有关多维数组的数学表达式。基本上,它提供了创建深度神经网络所需的所有构建模块。

 网站:http://deeplearning.net/software/theano/

 撰写本书时的版本:0.8.2

Theano安装很简单,因为它现在是PyPI中的一个包:

 image.png

如果要安装它的最新版本,则可以通过GitHub克隆得到:

 image.png

然后,继续进行Python安装:

 image.png

若要测试安装是否成功,可从shell/CMD运行以下命令,然后查看报告:

 image.png

如果正在使用Windows操作系统,但执行前面步骤后未能成功安装,请尝试以下步骤:

1.安装TDM-GCC x64(http://tdm-gcc.tdragon.net/)。

2.打开Anaconda命令提示符并执行以下操作:

 image.png

Theano需要libpython,目前它与3.5版本还不兼容,所以如果在Windows上安装不成功,这可能是原因之一。

另外,在其他所有情况都失败时可参考Theano网站向Windows用户提供的某些信息:

 image.png

Theano在GPU上进行扩展的一项重要要求是安装NVIDIA CUDA驱动程序和SDK,以便生成和运行GPU代码。如果对CUDA工具包不熟悉,可访问这个网址了解更多相关技术:

 image.png

因此,如果计算机有NVIDIA GPU,那么能从NVIDIA相关网站找到安装CUDA所需的说明:

 image.png

TensorFlow

与Theano一样,TensorFlow是另一个使用数据流图而不是数组进行数值计算的开源软件库。图节点表示数学运算,而图边表示在节点之间移动的多维数据矩阵(即所谓的张量)。TensorFlow最初是由GoogleBrain团队的研究人员开发的。

 网站:https://github.com/tensorflow/tensorflow

 撰写本书时的版本:0.8.0

请按照以下链接中的说明在计算机上安装TensorFlow:

 image.png

对于Windows用户,好的折中办法是在基于Linux的虚拟机或Docker机器上运行该软件包。(参考前面OS设置页面。)

sknn库

sknn库(即scikit-neuralnetwork)是Pylearn2的打包器,用来实现深度神经网络,而不需要你成为Theano专家。另外,该库与Scikit-learn API兼容。

 网站:https://scikit-neuralnetwork.readthedocs.io/en/latest/

 发布时的版本:0.7

 安装该库只需使用以下命令:

 image.png

作为选项,如果想利用诸如卷积、池化或向上扩展等高级功能,请按如下方式进行安装:

 image.png

安装后执行以下操作:

 image.png

与在XGBoost中看到的一样,这将使sknn软件包在Python安装中可用。

Theanets

Theanets软件包是一个用Python编写的深度学习和神经网络工具包,它使用Theano加速计算。如同sknn,它尽量使得与Theano功能的交互变得更容易,以便创建深度学习模型。

 网站:https://github.com/lmjohns3/theanets

 撰写本书时的版本:0.7.3

 建议安装步骤:

 image.png

可从GitHub下载当前版本,然后直接用Python安装该包:

 image.png

Keras

Keras是一个用Python编写的极其简单且高度模块化的神经网络库,能在TensorFlow或Theano之上运行。

 网站:http://keras.io/

 撰写本书时的版本:1.0.5

 PyPI的建议安装命令:

 image.png

还可使用以下命令安装最新可用版本(该软件包正在持续开发中,建议使用此版本):

 image.png

安装其他有用的软件包

本书后面会实际用到刚安装的这些软件包,最后还需要安装三个简单但用处很大的软件包,它们几乎不会在书中被提及但需要安装在你的系统上:memory profiler、climate和NeuroLab。

memory profiler是一个用于监视进程内存使用情况的程序包,有助于逐行解析指定Python脚本的内存消耗情况,其安装方法如下:

 image.png

climate包含一些基本的Python命令行工具,其快速安装方法如下:

 image.png

NeuroLab是一个非常基础的神经网络软件包,它基于MATLAB中的神经网络工具箱(NNT),它还基于NumPy和SciPy而不是Theano,因此,不要期望它有令人惊讶的性能,但应该知道它是一个非常不错的学习工具箱,安装方法如下:

image.png

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。