如何在 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 虚拟环境

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

[email protected]:~# apt-get update -y

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

[email protected]:~# mkdir machine_learning [email protected]:~# cd machine_learning/ [email protected]:~/machine_learning#

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

[email protected]:~/machine_learning# python3 -m venv scikit_is_cool

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

[email protected]:~/machine_learning# source scikit_is_cool/bin/activate (scikit_is_cool) [email protected]:~/machine_learning#

第 2 步:安装依赖项

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

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

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

(scikit_is_cool) [email protected]:~/machine_learning# pip install numpy scipy joblib matplotlib scikit-image pandas

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

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

(scikit_is_cool) [email protected]:~/machine_learning# pip install -U scikit-learn

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

(scikit_is_cool) [email protected]:~/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:

[email protected]:~# 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 可用:

[email protected]:~# conda activate conda-scikit (conda-scikit) [email protected]:~#

现在 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,或打开 聊天 或与我们联系,与我们知识渊博的解决方案或经验丰富的托管顾问之一交谈,了解您今天如何利用这些技术!