1.1 sklearn环境配置

如果你使用的Python环境是Anaconda,那么默认已经安装了sklearn。考虑到有些读者并没有使用Anaconda,这里还是介绍一下如何使用pip安装sklearn及其依赖库。

1.1.1 环境要求

本书中使用的sklearn版本号为0.21.3,该版本对环境有如下的要求:

  • Python版本号大于等于3.5;
  • NumPy版本号大于等于1.11.0;
  • SciPy版本号大于等于0.17.0;
  • joblib版本号大于等于0.11;
  • Matplotlib版本号大于等于1.5.1;
  • scikit-image版本号大于等于0.12.3;
  • pandas版本号大于等于0.18.0。

如果你的Python版本是Python 3.4及以下,请使用sklearn 0.20以下的版本。

1.1.2 安装方法

安装sklearn时,只需执行以下命令:

pip install scikit-learn

此时pip会自动安装sklearn的依赖库。如果想批量指定依赖库的版本,可以写一个requirements.txt文件,其内容如下:

scipy==0.17.0
joblib==0.11
matplotlib==1.5.1
scikit-image==0.12.3
pandas==0.18.0

然后使用如下指令一次性安装:

pip install -r requirements.txt

至于NumPy库,如果你想提升计算性能,建议下载与自己的Python版本对应的NumPy库和MKL库。

1.1.3 修改pip源

在使用pip的过程中,经常会出现下载速度缓慢,或者干脆无法下载的情况。就像下面这样,速度非常慢,或者一直提示Retrying

100% |████████████████████████████████| 5.9MB 13kB/s
Collecting numpy>=1.11.0 (from scikit-learn->sklearn)
  Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken
by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/numpy/

如果你在使用pip进行下载和安装的过程中出现了上述情况,那么尝试将pip源修改为国内源,可以大幅提高下载速度。

在Windows环境下修改pip源的方法如下。

(1) 在资源管理器中,输入%appdata%,会自动进入AppData/Roaming文件夹。

(2) 在这个文件夹中新建一个pip文件夹。

(3) 在pip文件夹下新建pip.ini文件。

(4) 在pip.ini文件中输入如下内容:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

(5) 再次使用pip,即可享用国内源超高的下载速度:

H:\MachineLearning-Python >pip install numpy
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting numpy
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/bd/51/7df1a3858ff0465f760b482514f1292836f8be08d84aba411b48dda72fa9/numpy-1.17.2-cp37-cp37m-win_amd64.whl (12.8MB)
    100% |████████████████████████████████| 12.8MB 1.7MB/s
Installing collected packages: numpy
Successfully installed numpy-1.17.2

修改之后,速度直接提升至原来的一百多倍。若上述源的速度还是不够快,可以切换成其他国内源。目前,国内的pip源主要有下面几个。

在Linux系统下修改pip源的操作和前面类似。以Ubuntu为例,只需执行以下指令:

mkdir ~/.pip
vim ~/.pip/pip.conf

然后写入pip源的内容即可:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

1.1.4 安装Jupyter Notebook

Jupyter Notebook是一种网页形式的编程工具,能够在网页中直接编写和运行代码,并实时显示代码的运行结果。同时Jupyter Notebook支持Markdown语法,可以将代码说明和代码混合在一起。

对于机器学习工作者来说,使用Jupyter Notebook一般出于以下3个目的。

  • 编写小段需要图像展示的案例。
  • 分阶段运行代码,检测代码中的错误(这对于计算机视觉算法来说尤其方便)。
  • 在服务器上远程编写代码。给予 Jupyter Notebook的网页服务的特性,我们可以很轻松地在自己的计算机上访问服务器上运行的Jupyter Notebook。

Jupyter Notebook的安装过程很简单,可以直接使用pip安装(Anaconda中自带Jupyter Notebook):

pip install jupyter

安装完成之后,在终端或cmd.exe中输入:

jupyter notebook

此时Jupyter Notebook会自动打开计算机中的默认浏览器,可以看到如图1-2所示的网页。

图 1-2 Jupyter Notebook

点击New→Python 3之后,就会自动创建一个Notebook,如图1-3所示。

图 1-3 Notebook

进入Notebook之后,就可以在代码块中编写代码了。如图1-4所示,借助“魔法命令”%matplotlib inline,就可以轻松地在Notebook中做图形展示了。

图 1-4 Jupyter Notebook编程示例

因为工具操作简单,这里不再赘述,本书后面用到Jupyter Notebook的部分会单独说明。