如何在 Ubuntu 18.04 上安装 Scikit-Learn

在本教程中,我们将介绍如何在 Ubuntu 18.04 服务器上安装 scikit-learn。 我们将在虚拟环境中使用 Python 包管理器 Pip 和通过 Anaconda 进行安装。

Scikit-learn 是一个 Python 库,旨在为开发人员提供一个接口来创建机器学习软件。 在将 scikit-learn 与其他涉及类似主题的 Python 库(例如 TensorFlow)进行比较时,需要注意的是,scikit-learn 提供了更高级别的接口,并且设置了可供机器学习使用的算法。 出于这个原因,scikit-learn 更直接地落在了传统机器学习领域。

一旦 scikit-learn 安装在您的服务器上,您甚至可以将它与 Python Web 框架、一些 CSS、javascript 和 HTML 结合起来构建一个前端,将您的机器学习模型暴露给 Web!

飞行前检查

  • 这些说明是在 Ubuntu 18.04 LTS 服务器上以 root 用户身份执行的。
  • Python 版本 (=> 3.5)
  • Anaconda 是本教程的 Anaconda 安装部分的先决条件。 如果您需要安装 Anaconda,请查看我们的 Anaconda 教程!
  • 本教程的 Pip 安装部分需要 Python 模块 venv。 如果您需要安装 venv 并学习使用 Python 虚拟环境的一些基础知识,请查看教程!

通过 Pip 安装 Scikit-Learn

第 1 步:创建新的 Python 虚拟环境

首先,作为最佳实践,确保所有软件包都是最新的:

root@ubuntu:~# apt-get update -y

一旦一切都是最新的,让我们为我们的项目创建并更改目录:

root@ubuntu:~# mkdir machine_learning
root@ubuntu:~# cd machine_learning/
root@ubuntu:~/machine_learning#

现在我们有了一个新的工作空间,让我们创建新的 Python 虚拟环境:

root@ubuntu:~/machine_learning# python3 -m venv scikit_is_cool

最后,让我们继续激活新创建的虚拟环境:

root@ubuntu:~/machine_learning# source scikit_is_cool/bin/activate
(scikit_is_cool) root@ubuntu:~/machine_learning#

第 2 步:安装依赖项

通过 Pip 安装 scikit-learn 与 Anaconda 的主要区别之一是我们必须管理 scikit-learn 的依赖项。 这只是意味着在准备安装 scikit-learn 之前,我们需要安装一些额外的 Python 模块。

我们现在需要安装 scikit-learn 所依赖的 Python 模块才能运行。 我们还将安装一些 scikit-learn 并不总是依赖的附加库,但可以让我们充分利用 scikit-learn 的功能:

注意:这里是链接 Scikit-learn 的依赖.

(scikit_is_cool) root@ubuntu:~/machine_learning# pip install numpy scipy joblib matplotlib scikit-image pandas

第 3 步:安装和测试 Scikit-learn

现在环境已经准备好让我们安装 scikit-learn:

(scikit_is_cool) root@ubuntu:~/machine_learning# pip install -U scikit-learn

Scikit-learn 现已安装! 为了测试这一点,让我们进入 Python shell 并尝试加载其默认数据集之一:

(scikit_is_cool) root@ubuntu:~/machine_learning# python
Python 3.6.8 (default, Oct  7 2019, 12:59:55)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

打开 shell 后,复制并粘贴此 Python 代码段,然后按 Enter:

from sklearn import datasets
iris = datasets.load_iris()
digits = datasets.load_digits()
print(digits.data)

输出应如下所示:

[[ 0.  0.  5. ...  0.  0.  0.]
 [ 0.  0.  0. ... 10.  0.  0.]
 [ 0.  0.  0. ... 16.  9.  0.]
 ...
 [ 0.  0.  1. ...  6.  0.  0.]
 [ 0.  0.  2. ... 12.  0.  0.]
 [ 0.  0. 10. ... 12.  1.  0.]]

就是这样! Scikit-learn 现在可以在我们刚刚创建的 Python 虚拟环境中使用。 有很多很好的例子 scikit-learn 的文档 这里。

通过 Anaconda 安装 Scikit-Learn

在某些方面,使用与 Anaconda 一起安装 scikit-learn 的包管理器 conda 更简单一些。 这样做的原因是 conda 将 scikit-learn 的依赖管理从我们手中夺走。 当我们使用 conda 安装 scikit-learn 时,默认情况下,我们会将 scikit-learn 的所有依赖项作为安装的一部分。

第 1 步:设置和安装 scikit-learn

Conda 使我们能够为我们的 scikit 安装创建一个谨慎的环境,类似于本教程的 Pip 安装部分中提到的虚拟环境。 使用 conda,我们实际上可以使用一个命令创建环境并安装 scikit:

root@ubuntu:~# conda create --name conda-scikit scikit-learn

您应该会看到与此类似的输出,并带有提示。 此提示请求 conda 出去并获取 scikit-learn 可能需要的任何依赖项的权限。 在终端中输入“y”并回车继续安装:

The following NEW packages will be INSTALLED:

  _libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main
  blas               pkgs/main/linux-64::blas-1.0-mkl
  ca-certificates    pkgs/main/linux-64::ca-certificates-2019.10.16-0
  certifi            pkgs/main/linux-64::certifi-2019.9.11-py37_0
  intel-openmp       pkgs/main/linux-64::intel-openmp-2019.4-243
  joblib             pkgs/main/linux-64::joblib-0.13.2-py37_0
  libedit            pkgs/main/linux-64::libedit-3.1.20181209-hc058e9b_0
  libffi             pkgs/main/linux-64::libffi-3.2.1-hd88cf55_4
  libgcc-ng          pkgs/main/linux-64::libgcc-ng-9.1.0-hdf63c60_0
  libgfortran-ng     pkgs/main/linux-64::libgfortran-ng-7.3.0-hdf63c60_0
  libstdcxx-ng       pkgs/main/linux-64::libstdcxx-ng-9.1.0-hdf63c60_0
  mkl                pkgs/main/linux-64::mkl-2019.4-243
  mkl-service        pkgs/main/linux-64::mkl-service-2.3.0-py37he904b0f_0
  mkl_fft            pkgs/main/linux-64::mkl_fft-1.0.15-py37ha843d7b_0
  mkl_random         pkgs/main/linux-64::mkl_random-1.1.0-py37hd6b4f25_0
  ncurses            pkgs/main/linux-64::ncurses-6.1-he6710b0_1
  numpy              pkgs/main/linux-64::numpy-1.17.3-py37hd14ec0e_0
  numpy-base         pkgs/main/linux-64::numpy-base-1.17.3-py37hde5b4d6_0
  openssl            pkgs/main/linux-64::openssl-1.1.1d-h7b6447c_3
  pip                pkgs/main/linux-64::pip-19.3.1-py37_0
  python             pkgs/main/linux-64::python-3.7.5-h0371630_0
  readline           pkgs/main/linux-64::readline-7.0-h7b6447c_5
  scikit-learn       pkgs/main/linux-64::scikit-learn-0.21.3-py37hd81dba3_0
  scipy              pkgs/main/linux-64::scipy-1.3.1-py37h7c811a0_0
  setuptools         pkgs/main/linux-64::setuptools-41.6.0-py37_0
  six                pkgs/main/linux-64::six-1.12.0-py37_0
  sqlite             pkgs/main/linux-64::sqlite-3.30.1-h7b6447c_0
  tk                 pkgs/main/linux-64::tk-8.6.8-hbc83047_0
  wheel              pkgs/main/linux-64::wheel-0.33.6-py37_0
  xz                 pkgs/main/linux-64::xz-5.2.4-h14c3975_4
  zlib               pkgs/main/linux-64::zlib-1.2.11-h7b6447c_3


Proceed ([y]/n)? 
Y

第 2 步:激活 conda 环境并测试 scikit-learn

Scikit-learn 现在连同它的所有依赖项一起安装到了一个新创建的 conda 环境中! 安装完成后,我们将看到指示如何激活和停用我们刚刚创建的新创建的 conda 环境的输出。 这与激活和停用使用 venv 模块创建的虚拟环境非常相似:

#
# To activate this environment, use
#
#     $ conda activate conda-scikit
#
# To deactivate an active environment, use
#
#     $ conda deactivate

让我们继续激活 conda 环境以确保 scikit-learn 可用:

root@ubuntu:~# conda activate conda-scikit
(conda-scikit) root@ubuntu:~#

现在 conda 环境处于活动状态,让我们跳入 Python shell 并点击该默认数据集:

Python 3.7.5 (default, Oct 25 2019, 15:51:11)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

接下来,粘贴以下代码段并按 Enter:

from sklearn import datasets
iris = datasets.load_iris()
digits = datasets.load_digits()
print(digits.data)

您应该在 Python shell 中看到以下输出:

[[ 0.  0.  5. ...  0.  0.  0.]
 [ 0.  0.  0. ... 10.  0.  0.]
 [ 0.  0.  0. ... 16.  9.  0.]
 ...
 [ 0.  0.  1. ...  6.  0.  0.]
 [ 0.  0.  2. ... 12.  0.  0.]
 [ 0.  0. 10. ... 12.  1.  0.]]

立即开始您的 AI 之旅!!!

这项技术现在非常热门,而且有充分的理由! 能够利用您可能已经拥有的信息来确定新的机会和增长领域,这会引起每个企业主的深刻共鸣。

公司正在利用机器学习来:

  • 增强运营工作流程
  • 提高向您的客户提供信息的速度和过程
  • 通过提高个性化来改善客户体验
  • 简化招聘流程
  • 提高员工的敬业度和保留率
  • 更好地利用预测分析
  • 增强的指标有助于做出明智的决策

给我们打电话 800.580.4985,或打开 聊天 或与我们联系,与我们知识渊博的解决方案或经验丰富的托管顾问之一交谈,了解您今天如何利用这些技术!