Установка scikit-learn#

Существуют различные способы установки scikit-learn:

  • Установите последнюю официальную версию. Это наилучший подход для большинства пользователей. Он обеспечит стабильную версию, и предварительно собранные пакеты доступны для большинства платформ.

  • Установите версию scikit-learn, предоставленную вашим операционная система или дистрибутив Python. Это быстрый вариант для тех, у кого операционные системы или дистрибутивы Python распространяют scikit-learn. Он может не предоставлять последнюю версию выпуска.

  • Установить ночную сборку. Это самый быстрый способ попробовать новую функцию, которая будет включена в следующий выпуск (то есть функцию из pull-request, который недавно был объединен с основной веткой); или проверить, исправлен ли обнаруженный вами баг с момента последнего выпуска.

  • Сборка пакета из исходного кода. Это в основном нужно пользователям, которые хотят внести вклад в проект, так как это позволяет установить редактируемую версию проекта.

Установка последнего релиза#

Установите 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()"

Установите conda с помощью установщики conda-forge (права администратора не требуются). Затем запустите:

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) или путем ручной установки пакета из официальный сайт.

Теперь создайте виртуальная среда (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 (права администратора не требуются). Затем запустите:

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()"

Установите conda с помощью установщики conda-forge (права администратора не требуются). Затем запустите:

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, позволяет установить конкретную версию scikit-learn с pip или conda и её зависимости независимо от любых ранее установленных пакетов Python. В частности, под Linux не рекомендуется устанавливать пакеты pip вместе с пакетами, управляемыми менеджером пакетов дистрибутива (apt, dnf, pacman…).

Обратите внимание, что вы всегда должны помнить о необходимости активировать выбранное окружение перед запуском любой команды Python при начале новой сессии терминала.

Если вы еще не установили NumPy или SciPy, вы также можете установить их с помощью conda или pip. При использовании pip убедитесь, что бинарные колеса используются, и NumPy и SciPy не перекомпилируются из исходного кода, что может происходить при использовании определенных конфигураций операционной системы и оборудования (например, Linux на Raspberry Pi).

Возможности построения графиков в Scikit-learn (т.е. функции, начинающиеся с plot_ и классы, заканчивающиеся на Display) требуют Matplotlib. Примеры требуют Matplotlib, а некоторые примеры требуют scikit-image, pandas или seaborn. Минимальные версии зависимостей scikit-learn перечислены ниже вместе с их назначением.

Зависимость

Минимальная версия

Назначение

numpy

1.24.1

сборка, установка

scipy

1.10.0

сборка, установка

joblib

1.3.0

установить

threadpoolctl

3.2.0

установить

cython

3.1.2

build

meson-python

0.17.1

build

matplotlib

3.6.1

: Поддержите проект напрямую через

scikit-image

0.22.0

документация, примеры

pandas

1.5.0

: Поддержите проект напрямую через

seaborn

0.13.0

документация, примеры

memory_profiler

0.57.0

тестирование, документация

pytest

7.1.2

тесты

pytest-cov

2.9.0

тесты

ruff

0.11.7

тесты

mypy

1.15

тесты

pyamg

5.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

10.1.0

документация

pooch

1.8.0

документация, примеры, тесты

sphinx-prompt

1.4.0

документация

sphinxext-opengraph

0.9.1

документация

plotly

5.18.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

3.0.1

Одиннадцать лет после создания Scikit-learn многое изменилось в мире машинного обучения. Ключевые изменения включают:

Предупреждение

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 поддерживает Python 3.9—3.13.

Scikit-learn 1.7 требует Python 3.10 или новее.

Сторонние дистрибутивы scikit-learn#

Некоторые сторонние дистрибутивы предоставляют версии scikit-learn, интегрированные с их системами управления пакетами.

Это может значительно упростить установку и обновление для пользователей, поскольку интеграция включает возможность автоматической установки зависимостей (numpy, scipy), которые требуются scikit-learn.

Ниже приведен неполный список ОС и дистрибутивов Python, которые предоставляют собственную версию scikit-learn.

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 называется 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 для Mac OSX#

Пакет MacPorts называется py-scikit-learn, где XY обозначает версию Python. Её можно установить, введя следующую команду:

sudo port install py312-scikit-learn

Anaconda и Enthought Deployment Manager для всех поддерживаемых платформ#

Anaconda и Enthought Deployment Manager оба поставляются вместе с scikit-learn в дополнение к большому набору научных библиотек Python для Windows, Mac OSX и Linux.

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.

Обратите внимание, что эти решатели не включены по умолчанию, пожалуйста, обратитесь к scikit-learn-intelex документации для получения дополнительных сведений о сценариях использования. Пример прямого экспорта:

from sklearnex.neighbors import NearestNeighbors

Совместимость со стандартными решателями scikit-learn проверяется запуском полного набора тестов scikit-learn через автоматизированное непрерывное интеграционное тестирование, как сообщается на intel/scikit-learn-intelex. Если вы заметили какую-либо проблему с scikit-learn-intelex, пожалуйста, сообщите о проблеме на их трекер проблем.

WinPython для Windows#

The WinPython проект распространяет scikit-learn в качестве дополнительного плагина.

Устранение неполадок#

Если вы столкнулись с неожиданными ошибками при установке scikit-learn, вы можете создать issue в трекер проблем. Перед этим также убедитесь, что проверили следующие распространенные проблемы.

Ошибка, вызванная ограничением длины пути к файлу в Windows#

Может случиться, что pip не удается установить пакеты при достижении ограничения пути по умолчанию размера 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'

В этом случае можно снять это ограничение в реестре Windows, используя regedit инструмент:

  1. Введите "regedit" в меню "Пуск" Windows для запуска regedit.

  2. Перейти к Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem ключ.

  3. Измените значение LongPathsEnabled свойство этого ключа и установить его в 1.

  4. Переустановите scikit-learn (игнорируя предыдущую сломанную установку):

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

Установка ночных сборок#

Серверы непрерывной интеграции проекта scikit-learn собирают, тестируют и загружают пакеты wheel для последней версии Python на ежедневной основе.

Вы можете установить ночную сборку scikit-learn, используя scientific-python-nightly-wheels индекс из реестра PyPI anaconda.org:

pip install --pre --extra-index https://pypi.anaconda.org/scientific-python-nightly-wheels/simple scikit-learn

Обратите внимание, что сначала может потребоваться удаление scikit-learn для возможности установки ночных сборок scikit-learn.