安装scikit-learn

有多种安装scikit-learn的方法:

  • 安装最新的官方版本。这是对于大多数用户来说最好的方法。它将提供一个较稳定的版本,并且预编译的软件包可适用于大多数平台。
  • 安装电脑操作系统或Python发行版提供的scikit-learn版本 。对于电脑操作系统或Python发行版兼容scikit-learn的用户来说,这是一个快速的选择。它提供的可能不是最新的发行版本。
  • 从源代码构建软件包。对于想要最新和最强大的功能并且不害怕运行全新代码的用户而言,这是最好的选择。这也正是希望为该项目做出贡献的用户所需要的。

安装最新版本

操作系统:Windows

包管理器:pip

例如从https://www.python.org上安装Python 3的64位版本。

然后运行:

pip install -U scikit-learn

您可以使用以下语句去检查

python -m pip show scikit-learn # 查看scikit-learn安装的位置及安装的版本
python -m pip freeze # 查看所有在虚拟环境中已下载的包
python -c "import sklearn; sklearn.show_versions()"

操作系统:Windows

包管理器:conda

安装 conda(不需要管理员权限).

然后运行:

conda install scikit-learn

您可以使用以下语句去检查

conda list scikit-learn # 查看scikit-learn安装的位置及安装的版本
conda list # 查看所有在虚拟环境中已下载的包
python -c "import sklearn; sklearn.show_versions()"

操作系统:macOS

包管理器:pip

使用 homebrew (brew install python) 或通过从 https://www.python.org手动安装软件包来安装Python 3

然后运行:

pip install -U scikit-learn

您可以使用以下语句去检查

python -m pip show scikit-learn # 查看scikit-learn安装的位置及安装的版本
python -m pip freeze # 查看所有在虚拟环境中已下载的包
python -c "import sklearn; sklearn.show_versions()"

操作系统:macOS

包管理器:conda

安装 conda(不需要管理员权限).

然后运行:

conda install scikit-learn

您可以使用以下语句去检查

conda list scikit-learn # 查看scikit-learn安装的位置及安装的版本
conda list # 查看所有在虚拟环境中已下载的包
python -c "import sklearn; sklearn.show_versions()"

操作系统:Linux

包管理器:pip

使用Linux发行版的软件包管理器安装python3和python3-pip

然后运行:

pip3 install -U scikit-learn

您可以使用以下语句去检查

python3 -m pip show scikit-learn # 查看scikit-learn安装的位置及安装的版本
python3 -m pip freeze # 查看所有在虚拟环境中已下载的包
python3 -c "import sklearn; sklearn.show_versions()"

操作系统:Linux

包管理器:conda

安装 conda(不需要管理员权限).

然后运行:

conda install scikit-learn

您可以使用以下语句去检查

conda list scikit-learn # 查看scikit-learn安装的位置及安装的版本
conda list # 查看所有在虚拟环境中已下载的包
python -c "import sklearn; sklearn.show_versions()"

​ 请注意,为了避免与其他软件包产生潜在的冲突,强烈建议使用虚拟环境,例如python3 virtualenv (请参阅python3 virtualenv文档)或conda环境

​ 使用独立的环境去安装scikit-learn的特定版本及其依赖项时,可以完全与任何先前安装的Python软件包区分开。特别是在Linux下,不建议安装pip软件包依赖于软件包管理器(apt,dnf,pacman…)管理的软件包上。

请注意,无论何时启动新的终端会话,您都应该始终记住在运行任何Python命令之前要先激活您选择的环境。

​ 如果尚未安装NumPy或SciPy,也可以使用conda或pip安装它们。使用pip时,请确保使用二进制wheels,并且不会从源代码重新编译NumPy和SciPy,这在使用操作系统和硬件的特定配置(例如Raspberry Pi上的Linux)时可能会发生。

​ 如果必须使用pip安装scikit-learn及其依赖项,则可以将其安装为scikit-learn[alldeps]

​ Scikit-learn的绘图功能(例如,函数以“ plot_”开头和类以“ Display”结尾)需要Matplotlib(> = 2.1.1)。为了运行这些示例,需要Matplotlib> = 2.1.1。其他有些示例需要scikit-image> = 0.13,有些示例需要Pandas> = 0.18.0,有些示例需要seaborn> = 0.9.0。

警告:

Scikit-learn 0.20是最后一个支持Python 2.7和Python 3.4的版本。 Scikit-learn0.21支持Python 3.5-3.7。 Scikit-learn0.22支持Python 3.5-3.8。Scikit-learn现在需要Python 3.6或更高版本。

注意:

要在PyPy上安装,需要PyPy3-v5.10 +,Numpy 1.14.0+和scipy 1.1.0+。

scikit-learn的第三方发行版

​ 一些第三方发行版提供了scikit-learn的版本及其软件包管理系统。

​ 这些功能使用户的安装和升级变得更加容易,因为集成功能拥有自动安装scikit-learn所需的依赖项(numpy,scipy)的能力。

​ 以下是OS和python发行版提供的scikit-learn版本的不完整列表。

Arch

​ Arch Linux的包是通过官方资料库python-scikit-learn提供的。可以通过键入以下命令来安装它:

sudo pacman -S python-scikit-learn

Debian / Ubuntu

​ Debian / Ubuntu软件包分为三个不同的软件包,分别称为 python3-sklearn(python模块),python3-sklearn-lib(低配版),python3-sklearn-doc(文档)。Debian Buster(最新的Debian发行版)中仅提供Python 3版本。可以使用命令apt-get安装软件包:

sudo apt-get install python3-sklearn python3-sklearn-lib python3-sklearn-doc

Fedora

​ Fedora软件包在python 3版本中被称为python3-scikit-learn,这是Fedora30中唯一可用的版本。可以使用dnf命令安装:

sudo dnf install python3-scikit-learn

NetBSD

​ scikit-learn可通过pkgsrc-wip获得:

http://pkgsrc.se/math/py-scikit-learn

MacPorts for Mac OSX

​ MacPorts软件包的名称为py<XY>-scikits-learn,其中XY表示Python版本。可以通过键入以下命令来安装它:

sudo port install py36-scikit-learn

Canopy和Anaconda适用于所有支持的平台

​ 除了用于Windows,Mac OSX和Linux的大量科学python库之外,CanopyAnaconda还提供了最新版本的scikit-learn。

​ Anaconda免费提供scikit-learn。

Intel conda channel

​ 英特尔拥有专用的conda渠道,该渠道可提供scikit-learn:

conda install -c intel scikit-learn

​ 此版本的scikit-learn包含一些常见估量的替代求解器。这些求解器来自DAAL C ++库,并针对多核Intel CPU进行了优化。

​ 请注意,默认情况下不启用这些求解器,请参阅 daal4py文档以获取更多详细信息。

​ 可通过在https://github.com/IntelPython/daal4py上报告的自动集成,运行完整的scikit-learn测试,来检查与标准scikit-learn解算器的兼容性。

Windows 版WinPython

​ 该WinPython项目作为额外的插件在scikit-learn发布。

故障排除

Windows上的文件路径长度限制引起的错误

​ 如果将Python安装在电脑内部位置(例如AppData用户主目录下的文件夹结构)中,若达到Windows的默认路径大小限制时,pip可能无法安装软件包 ,例如:

C:\Users\username>C:\Users\username\AppData\Local\Microsoft\WindowsApps\python.exe -m pip install scikit-learn
Collecting scikit-learn
...
Installing collected packages: scikit-learn
ERROR: Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: 'C:\\Users\\username\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python37\\site-packages\\sklearn\\datasets\\tests\\data\\openml\\292\\api-v1-json-data-list-data_name-australian-limit-2-data_version-1-status-deactivated.json.gz'

在这种情况下,可以使用以下regedit工具在Windows注册表中取消该限制:

  1. 在Windows开始菜单中键入“ regedit”来启动regedit

  2. 选择 Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem key

  3. 编辑该LongPathsEnabled键的属性值,将其设置为1。

  4. 重新安装scikit-learn(忽略以前的安装报错):

    pip install --exists-action=i scikit-learn