安装scikit-learn#

有不同的方法可以安装scikit-learn:

  • Install the latest official release .对于大多数用户来说,这是最好的方法。它将提供一个稳定的版本,并且预构建的包可用于大多数平台。

  • 安装您提供的scikit-learn版本 operating system or Python distribution .对于那些拥有分发scikit-learn的操作系统或Python发行版的人来说,这是一个快速选择。它可能不提供最新的发布版本。

  • Building the package from source .这最适合那些想要最新、最好的功能并且不害怕运行全新代码的用户。希望为该项目做出贡献的用户也需要这一点。

安装最新版本#

安装64位版本的Python 3,例如从 official website .

现在创建一个 virtual environment (venv) 并安装scikit-learn。请注意,虚拟环境是可选的,但强烈建议使用,以避免与其他包的潜在冲突。

python -m venv sklearn-env
sklearn-env\Scripts\activate  # activate
pip install -U scikit-learn

为了检查您的安装,您可以用途:

python -m pip show scikit-learn  # show scikit-learn version and location
python -m pip freeze             # show all installed packages in the environment
python -c "import sklearn; sklearn.show_versions()"

使用安装conda conda-forge installers (no需要管理员权限)。然后运行:

conda create -n sklearn-env -c conda-forge scikit-learn
conda activate sklearn-env

为了检查您的安装,您可以用途:

conda list scikit-learn  # show scikit-learn version and location
conda list               # show all installed packages in the environment
python -c "import sklearn; sklearn.show_versions()"

使用安装Python 3 homebrew (brew install python) or by manually installing the package from the official website .

现在创建一个 virtual environment (venv) 并安装scikit-learn。请注意,虚拟环境是可选的,但强烈建议使用,以避免与其他包的潜在冲突。

python -m venv sklearn-env
source sklearn-env/bin/activate  # activate
pip install -U scikit-learn

为了检查您的安装,您可以用途:

python -m pip show scikit-learn  # show scikit-learn version and location
python -m pip freeze             # show all installed packages in the environment
python -c "import sklearn; sklearn.show_versions()"

使用安装conda conda-forge installers (no需要管理员权限)。然后运行:

conda create -n sklearn-env -c conda-forge scikit-learn
conda activate sklearn-env

为了检查您的安装,您可以用途:

conda list scikit-learn  # show scikit-learn version and location
conda list               # show all installed packages in the environment
python -c "import sklearn; sklearn.show_versions()"

大多数Linux发行版通常默认安装Python 3。要检查是否已安装,请尝试:

python3 --version
pip3 --version

如果您没有安装Python 3,请安装 python3python3-pip 来自您的发行包经理。

现在创建一个 virtual environment (venv) 并安装scikit-learn。请注意,虚拟环境是可选的,但强烈建议使用,以避免与其他包的潜在冲突。

python3 -m venv sklearn-env
source sklearn-env/bin/activate  # activate
pip3 install -U scikit-learn

为了检查您的安装,您可以用途:

python3 -m pip show scikit-learn  # show scikit-learn version and location
python3 -m pip freeze             # show all installed packages in the environment
python3 -c "import sklearn; sklearn.show_versions()"

使用安装conda conda-forge installers (no需要管理员权限)。然后运行:

conda create -n sklearn-env -c conda-forge scikit-learn
conda activate sklearn-env

为了检查您的安装,您可以用途:

conda list scikit-learn  # show scikit-learn version and location
conda list               # show all installed packages in the environment
python -c "import sklearn; sklearn.show_versions()"

使用pip venv或conda等隔离环境使得可以独立于之前安装的任何Python包安装带有pip或conda及其依赖项的特定版本的scikit-learn。特别是在Linux下,不鼓励将pip包与发行版包管理器管理的包(apt、dnf、pacman.)一起安装。

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

如果您还没有安装NumPy或SciPy,您也可以使用conda或pip安装它们。使用PIP时,请确保 binary wheels 使用,并且NumPy和SciPy不会从源代码重新编译,当使用操作系统和硬件的特定配置(例如Raspberry Pi上的Linux)时可能会发生这种情况。

Scikit-learn绘图功能(即,从以下开始的功能 plot_ 课程结束时 Display )需要Matplotlib。这些示例需要Matplotlib,有些示例需要scikit-Image、pandas或seaborn。下面列出了scikit-learn依赖项的最低版本及其用途。

依赖

最低版本

目的

numpy

1.19.5

构建、安装

scipy

1.6.0

构建、安装

joblib

1.2.0

安装

线程池

3.1.0

安装

Cython

3.0.10

构建

梅森蟒蛇

0.16.0

构建

matplotlib

3.3.4

基准、文档、示例、测试

scikit-image

0.17.2

文档、示例、测试

熊猫

1.1.5

基准、文档、示例、测试

Seaborn

0.9.0

文档、示例

memory_profiler

0.57.0

基准、文档

pytest

7.1.2

测试

皮特斯特覆盖

2.9.0

测试

Ruff

0.5.1

测试

黑色

24.3.0

测试

mypy

1.9

测试

皮亚格

4.0.0

测试

偏振星

0.20.30

文档、测试

派罗

12.0.0

测试

斯芬克斯

7.3.7

docs

斯芬克斯-复制按钮

0.5.2

docs

狮身克斯画廊

0.17.1

docs

numpydoc

1.2.0

文档、测试

枕头

7.1.2

docs

普茨

1.6.0

文档、示例、测试

狮身面具提示

1.4.0

docs

spinxext-opengraph

0.9.1

docs

Plotly

5.14.0

文档、示例

斯芬克斯贡献-萨斯

0.3.4

docs

斯芬克斯删除托克特里

1.0.0.post1

docs

狮身像设计

0.6.0

docs

pydata-phinx-theme

0.15.3

docs

城镇居民

24.8.0

docs

孔达船闸

2.5.6

维护

警告

Scikit-learn 0.20是支持Python 2.7和Python 3.4的最后一个版本。

Scikit-learn 0.21支持Python 3.5-3.7。

Scikit-learn 0.22支持Python 3.5-3.8。

Scikit-learn 0.23需要Python 3.6-3.8。

Scikit-learn 0.24需要Python 3.6-3.9。

Scikit-learn 1.0支持Python 3.7-3.10。

Scikit-learn 1.1、1.2和1.3支持Python 3.8-3.12。

Scikit-learn 1.4和1.5支持Python 3.9-3.12。

Scikit-learn 1.6 supported Python 3.9—3.13.

Scikit-learn 1.7需要Python 3.10或更高版本。

scikit-learn的第三方分发#

一些第三方发行版提供了与其包管理系统集成的scikit-learn版本。

这些可以使用户更容易地安装和升级,因为集成包括自动安装scikit-learn所需的依赖项(numpy、scipy)的能力。

以下是提供自己版本的scikit-learn的操作系统和Python发行版的不完整列表。

Alpine Linux#

Alpine Linux的包通过 official repositories 作为 py3-scikit-learn 对于Python。可以通过输入以下命令来安装它:

sudo apk add py3-scikit-learn

Arch Linux#

Arch Linux的包通过 official repositories 作为 python-scikit-learn 对于Python。可以通过输入以下命令来安装它:

sudo pacman -S python-scikit-learn

Debian/Ubuntu#

Debian/Ubuntu包分为三个不同的包,称为 python3-sklearn (Python模块), python3-sklearn-lib (低级实现和绑定), python-sklearn-doc (文档)。请注意,scikit-learn需要Python 3,因此需要使用 python3- 后缀包名称。包可以使用 apt-get :

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

Fedora#

Fedora包名为 python3-scikit-learn 对于Python 3版本,这是Fedora中唯一可用的版本。它可以使用安装 dnf :

sudo dnf install python3-scikit-learn

NetBSD#

scikit-learn可通过 pkgsrc-wiphttps://pkgsrc.se/math/py-scikit-learn

MacPorts for Mac NSX#

MacPorts包名为 py<XY>-scikits-learn ,在哪里 XY 表示Python版本。可以通过输入以下命令来安装它:

sudo port install py312-scikit-learn

Anaconda和Enthought部署经理适用于所有支持的平台#

AnacondaEnthought Deployment Manager 两者都附带scikit-learn,以及大量适用于Windows、Mac NSX和Linux的科学Python库。

Anaconda提供scikit-learn作为其免费分发的一部分。

Scikit-learn的英特尔扩展#

英特尔维护一个优化的x86_64包,在PyPI中可用(通过 pip ),并且在 main , conda-forgeintel 康达频道:

conda install scikit-learn-intelex

此软件包包含许多估算器的英特尔优化版本。当替代实现不存在时,scikit-learn实现被用作后备。这些优化的求解器来自oneDAL C++库,针对x86_64架构进行了优化,并针对多核英特尔CPU进行了优化。

请注意,默认情况下不会启用这些求解器,请参阅 scikit-learn-intelex 有关使用场景的更多详细信息的文档。直接出口示例:

from sklearnex.neighbors import NearestNeighbors

如https://github.com/intel/scikit-learn-intelex上所报道的那样,通过自动化持续集成运行完整的scikit-learn测试套件来检查与标准scikit-learn求解器的兼容性。如果您发现任何问题 scikit-learn-intelex, please report the issue on their issue tracker .

WinPython for Windows#

WinPython 项目将scikit-learn作为附加插件分发。

故障排除#

如果您在安装scikit-learn时遇到意外故障,您可以将问题提交给 issue tracker .在此之前,请务必检查以下常见问题。

Windows上文件路径长度限制导致错误#

如果Python安装在嵌套位置(例如 AppData 用户主目录下的文件夹结构,例如::

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 OSError: [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 工具:

  1. 在Windows开始菜单中输入“regdit”以启动 regedit .

  2. Go to the Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem key.

  3. 编辑 LongPathsEnabled 该密钥的属性并将其设置为1。

  4. scikit-learn(忽略之前损坏的安装):

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