安裝 scikit-learn#
有多種不同的方式可以安裝 scikit-learn
安裝最新的官方發行版本。這對大多數使用者來說是最好的方法。它將提供穩定的版本,並且大多數平台都有預先建置的套件可用。
安裝您的作業系統或 Python 發行版提供的 scikit-learn 版本。對於那些擁有發行 scikit-learn 的作業系統或 Python 發行版的使用者來說,這是一個快速的選項。它可能不會提供最新的發行版本。
從原始碼建置套件。這最適合想要最新且最棒的功能,且不害怕執行全新程式碼的使用者。對於希望為專案做出貢獻的使用者來說,這也是必需的。
安裝最新發行版本#
安裝 64 位元的 Python 3 版本,例如從官方網站下載。
現在建立一個虛擬環境 (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()"
使用miniforge 安裝程式安裝 conda (無需管理員權限)。然後執行
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()"
使用 homebrew (brew install python
) 或從官方網站手動安裝套件來安裝 Python 3。
現在建立一個虛擬環境 (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()"
使用miniforge 安裝程式安裝 conda (無需管理員權限)。然後執行
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 通常預設安裝在大多數 Linux 發行版上。若要檢查您是否已安裝,請嘗試
python3 --version
pip3 --version
如果您沒有安裝 Python 3,請從您的發行版的套件管理員安裝 python3
和 python3-pip
。
現在建立一個虛擬環境 (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()"
使用miniforge 安裝程式安裝 conda (無需管理員權限)。然後執行
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) 可以使用 pip 或 conda 安裝特定版本的 scikit-learn 及其相依性,而不會影響任何先前安裝的 Python 套件。特別是在 Linux 下,不建議將 pip 套件與發行版的套件管理員 (apt、dnf、pacman…) 管理的套件一起安裝。
請注意,每當您啟動新的終端機工作階段時,您都應該始終記得先啟動您選擇的環境,然後再執行任何 Python 命令。
如果您尚未安裝 NumPy 或 SciPy,您也可以使用 conda 或 pip 安裝它們。使用 pip 時,請確保使用二進制輪子,並且不要從原始碼重新編譯 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 |
安裝 |
threadpoolctl |
3.1.0 |
安裝 |
cython |
3.0.10 |
建置 |
meson-python |
0.16.0 |
建置 |
matplotlib |
3.3.4 |
基準測試、文件、範例、測試 |
scikit-image |
0.17.2 |
文件、範例、測試 |
pandas |
1.1.5 |
基準測試、文件、範例、測試 |
seaborn |
0.9.0 |
文件、範例 |
memory_profiler |
0.57.0 |
基準測試、文件 |
pytest |
7.1.2 |
測試 |
pytest-cov |
2.9.0 |
測試 |
ruff |
0.5.1 |
測試 |
black |
24.3.0 |
測試 |
mypy |
1.9 |
測試 |
pyamg |
4.0.0 |
測試 |
polars |
0.20.30 |
文件、測試 |
pyarrow |
12.0.0 |
測試 |
sphinx |
7.3.7 |
文件 |
sphinx-copybutton |
0.5.2 |
文件 |
sphinx-gallery |
0.17.1 |
文件 |
numpydoc |
1.2.0 |
文件、測試 |
Pillow |
7.1.2 |
文件 |
pooch |
1.6.0 |
文件、範例、測試 |
sphinx-prompt |
1.4.0 |
文件 |
sphinxext-opengraph |
0.9.1 |
文件 |
plotly |
5.14.0 |
文件、範例 |
sphinxcontrib-sass |
0.3.4 |
文件 |
sphinx-remove-toctrees |
1.0.0.post1 |
文件 |
sphinx-design |
0.6.0 |
文件 |
pydata-sphinx-theme |
0.15.3 |
文件 |
towncrier |
24.8.0 |
文件 |
conda-lock |
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-0.24 需要 Python 3.6 或更新版本。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 需要 Python 3.9 或更新版本。
Scikit-learn 的第三方發行版#
某些第三方發行版提供了與其套件管理系統整合的 scikit-learn 版本。
這些可以讓使用者更容易安裝和升級,因為整合包括自動安裝 scikit-learn 所需的相依性 (numpy、scipy) 的能力。
以下是提供自己版本的 scikit-learn 的作業系統和 Python 發行版的不完整清單。
Alpine Linux#
Alpine Linux 的套件透過 官方儲存庫 以 py3-scikit-learn
的形式提供給 Python。可以透過輸入以下命令來安裝
sudo apk add py3-scikit-learn
Arch Linux#
Arch Linux 的套件透過 官方儲存庫 以 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 套件針對 python 3 版本稱為 python3-scikit-learn
,這是 Fedora 中唯一可用的版本。可以使用 dnf
安裝
sudo dnf install python3-scikit-learn
NetBSD#
scikit-learn 可透過 pkgsrc-wip 取得:https://pkgsrc.se/math/py-scikit-learn
Mac OSX 的 MacPorts#
MacPorts 套件名為 py<XY>-scikits-learn
,其中 XY
表示 Python 版本。可以透過輸入以下命令來安裝
sudo port install py39-scikit-learn
所有支援平台的 Anaconda 和 Enthought Deployment Manager#
Anaconda 和 Enthought Deployment Manager 都隨附 scikit-learn,以及 Windows、Mac OSX 和 Linux 的大量科學 Python 程式庫。
Anaconda 作為其免費發行版的一部分提供 scikit-learn。
Intel Extension for Scikit-learn#
Intel 維護了一個最佳化的 x86_64 套件,可在 PyPI (透過 pip
) 以及 main
、conda-forge
和 intel
conda 通道中使用
conda install scikit-learn-intelex
此套件具有許多估算器的 Intel 最佳化版本。每當不存在替代實作時,會使用 scikit-learn 實作作為後備方案。這些最佳化求解器來自 oneDAL C++ 程式庫,並針對 x86_64 架構進行了最佳化,並針對多核心 Intel CPU 進行了最佳化。
請注意,這些求解器預設不會啟用,請參閱 scikit-learn-intelex 文件,以取得更多有關使用案例的詳細資訊。直接匯出範例
from sklearnex.neighbors import NearestNeighbors
透過在 intel/scikit-learn-intelex 上報告的自動持續整合執行完整 scikit-learn 測試套件來檢查與標準 scikit-learn 求解器的相容性。如果您發現 scikit-learn-intelex
有任何問題,請在其 問題追蹤器上回報問題。
Windows 的 WinPython#
WinPython 專案將 scikit-learn 作為額外外掛程式發行。
疑難排解#
如果您在安裝 scikit-learn 時遇到非預期的錯誤,您可以提交問題到 問題追蹤器。在此之前,請務必檢查以下常見問題。
Windows 上因檔案路徑長度限制造成的錯誤#
如果 Python 安裝在巢狀位置,例如使用者主目錄下的 AppData
資料夾結構中,可能會發生 pip 安裝套件時達到 Windows 預設路徑大小限制而失敗的情況,例如
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 登錄檔中解除該限制
在 Windows 開始選單中輸入「regedit」以啟動
regedit
。前往
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
機碼。編輯該機碼的
LongPathsEnabled
屬性的值,並將其設定為 1。重新安裝 scikit-learn(忽略先前的損壞安裝)
pip install --exists-action=i scikit-learn