《Python大规模机器学习》 —1.3.4Scikit-learn
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
建议安装命令:
请注意,导入模块名为sklearn。
matplotlib包
matplotlib最初由John Hunter开发,是一个包含所有构建块的库,用于从数组创建质量图,并以交互方式将其可视化。
你能在PyLab模块中找到所有类似MATLAB的绘图框架。
网站:http://matplotlib.org
撰写本书时的版本:1.5.1
建议安装命令:
可以简单导入你的可视化需求:
Gensim
Radim Rˇehu°rˇek开发的Gensim是一个开源软件包,它适合通过使用平行可分布的在线算法来分析大型文本集。其高级功能实现了Latent Semantic Analysis(LSA)、Latent Dirichlet Allocation(LDA)主题建模和Google的word2vec,后者是一种功能强大的算法,能够将文本转换为矢量特征,用于监督机器学习和无监督机器学习。
网站:http://radimrehurek.com/gensim/
撰写本书时的版本:0.13.1
建议安装命令:
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:
执行上述步骤后将安装所需的软件包,然后即可安装该框架,注意,安装前需要卸载以前安装的全部软件包:
若要安装与本书相同的版本,请使用以下命令更改最后的pip install命令:
如果遇到问题,请访问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.从命令行执行以下操作:
4.从命令行将64位系统的配置复制为默认配置:
或者,复制常用的32位系统配置:
5.复制配置文件后运行编译器,将其设置为使用四个线程,以加快编译过程:
6.如果编译器设置过程无错误完成,则执行下面命令在Python中安装软件包:
Theano
Theano是一个Python库,它允许用户有效定义、优化和评价有关多维数组的数学表达式。基本上,它提供了创建深度神经网络所需的所有构建模块。
网站:http://deeplearning.net/software/theano/
撰写本书时的版本:0.8.2
Theano安装很简单,因为它现在是PyPI中的一个包:
如果要安装它的最新版本,则可以通过GitHub克隆得到:
然后,继续进行Python安装:
若要测试安装是否成功,可从shell/CMD运行以下命令,然后查看报告:
如果正在使用Windows操作系统,但执行前面步骤后未能成功安装,请尝试以下步骤:
1.安装TDM-GCC x64(http://tdm-gcc.tdragon.net/)。
2.打开Anaconda命令提示符并执行以下操作:
Theano需要libpython,目前它与3.5版本还不兼容,所以如果在Windows上安装不成功,这可能是原因之一。
另外,在其他所有情况都失败时可参考Theano网站向Windows用户提供的某些信息:
Theano在GPU上进行扩展的一项重要要求是安装NVIDIA CUDA驱动程序和SDK,以便生成和运行GPU代码。如果对CUDA工具包不熟悉,可访问这个网址了解更多相关技术:
因此,如果计算机有NVIDIA GPU,那么能从NVIDIA相关网站找到安装CUDA所需的说明:
TensorFlow
与Theano一样,TensorFlow是另一个使用数据流图而不是数组进行数值计算的开源软件库。图节点表示数学运算,而图边表示在节点之间移动的多维数据矩阵(即所谓的张量)。TensorFlow最初是由GoogleBrain团队的研究人员开发的。
网站:https://github.com/tensorflow/tensorflow
撰写本书时的版本:0.8.0
请按照以下链接中的说明在计算机上安装TensorFlow:
对于Windows用户,好的折中办法是在基于Linux的虚拟机或Docker机器上运行该软件包。(参考前面OS设置页面。)
sknn库
sknn库(即scikit-neuralnetwork)是Pylearn2的打包器,用来实现深度神经网络,而不需要你成为Theano专家。另外,该库与Scikit-learn API兼容。
网站:https://scikit-neuralnetwork.readthedocs.io/en/latest/
发布时的版本:0.7
安装该库只需使用以下命令:
作为选项,如果想利用诸如卷积、池化或向上扩展等高级功能,请按如下方式进行安装:
安装后执行以下操作:
与在XGBoost中看到的一样,这将使sknn软件包在Python安装中可用。
Theanets
Theanets软件包是一个用Python编写的深度学习和神经网络工具包,它使用Theano加速计算。如同sknn,它尽量使得与Theano功能的交互变得更容易,以便创建深度学习模型。
网站:https://github.com/lmjohns3/theanets
撰写本书时的版本:0.7.3
建议安装步骤:
可从GitHub下载当前版本,然后直接用Python安装该包:
Keras
Keras是一个用Python编写的极其简单且高度模块化的神经网络库,能在TensorFlow或Theano之上运行。
网站:http://keras.io/
撰写本书时的版本:1.0.5
PyPI的建议安装命令:
还可使用以下命令安装最新可用版本(该软件包正在持续开发中,建议使用此版本):
安装其他有用的软件包
本书后面会实际用到刚安装的这些软件包,最后还需要安装三个简单但用处很大的软件包,它们几乎不会在书中被提及但需要安装在你的系统上:memory profiler、climate和NeuroLab。
memory profiler是一个用于监视进程内存使用情况的程序包,有助于逐行解析指定Python脚本的内存消耗情况,其安装方法如下:
climate包含一些基本的Python命令行工具,其快速安装方法如下:
NeuroLab是一个非常基础的神经网络软件包,它基于MATLAB中的神经网络工具箱(NNT),它还基于NumPy和SciPy而不是Theano,因此,不要期望它有令人惊讶的性能,但应该知道它是一个非常不错的学习工具箱,安装方法如下:
- 点赞
- 收藏
- 关注作者
评论(0)