安装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,请安装 python3
和 python3-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-wip :https://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部署经理适用于所有支持的平台#
Anaconda 和 Enthought Deployment Manager 两者都附带scikit-learn,以及大量适用于Windows、Mac NSX和Linux的科学Python库。
Anaconda提供scikit-learn作为其免费分发的一部分。
Scikit-learn的英特尔扩展#
英特尔维护一个优化的x86_64包,在PyPI中可用(通过 pip
),并且在 main
, conda-forge
和 intel
康达频道:
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
工具:
在Windows开始菜单中输入“regdit”以启动
regedit
.Go to the
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
key.编辑
LongPathsEnabled
该密钥的属性并将其设置为1。scikit-learn(忽略之前损坏的安装):
pip install --exists-action=i scikit-learn