Installation von scikit-learn#

Es gibt verschiedene Möglichkeiten, scikit-learn zu installieren

  • Die neueste offizielle Version installieren. Dies ist der beste Ansatz für die meisten Benutzer. Er bietet eine stabile Version und für die meisten Plattformen sind vorgefertigte Pakete verfügbar.

  • Installieren Sie die von Ihrem Betriebssystem oder Ihrer Python-Distribution bereitgestellte Version von scikit-learn. Dies ist eine schnelle Option für diejenigen, die Betriebssysteme oder Python-Distributionen haben, die scikit-learn verteilen. Möglicherweise wird nicht die neueste Release-Version bereitgestellt.

  • Eine tägliche Version installieren. Dies ist der schnellste Weg, um ein neues Feature auszuprobieren, das in der nächsten Version veröffentlicht wird (d. h. ein Feature aus einem Pull-Request, der kürzlich in den Hauptzweig übernommen wurde); oder um zu prüfen, ob ein aufgetretener Fehler seit der letzten Veröffentlichung behoben wurde.

  • Das Paket aus dem Quellcode erstellen. Dies ist hauptsächlich für Benutzer erforderlich, die zum Projekt beitragen möchten, da dies die Installation einer bearbeitbaren Version des Projekts ermöglicht.

Installation der neuesten Version#

Installieren Sie die 64-Bit-Version von Python 3, z. B. von der offiziellen Website.

Erstellen Sie nun eine virtuelle Umgebung (venv) und installieren Sie scikit-learn. Beachten Sie, dass die virtuelle Umgebung optional, aber dringend empfohlen ist, um potenzielle Konflikte mit anderen Paketen zu vermeiden.

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

Um Ihre Installation zu überprüfen, können Sie

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

Installieren Sie conda mit den conda-forge-Installationsprogrammen (keine Administratorberechtigung erforderlich). Führen Sie dann aus

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

Um Ihre Installation zu überprüfen, können Sie

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

Installieren Sie Python 3 mit homebrew (brew install python) oder durch manuelle Installation des Pakets von der offiziellen Website.

Erstellen Sie nun eine virtuelle Umgebung (venv) und installieren Sie scikit-learn. Beachten Sie, dass die virtuelle Umgebung optional, aber dringend empfohlen ist, um potenzielle Konflikte mit anderen Paketen zu vermeiden.

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

Um Ihre Installation zu überprüfen, können Sie

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

Installieren Sie conda mit den conda-forge-Installationsprogrammen (keine Administratorberechtigung erforderlich). Führen Sie dann aus

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

Um Ihre Installation zu überprüfen, können Sie

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 ist auf den meisten Linux-Distributionen normalerweise standardmäßig installiert. Um zu prüfen, ob Sie es installiert haben, versuchen Sie

python3 --version
pip3 --version

Wenn Sie Python 3 nicht installiert haben, installieren Sie bitte python3 und python3-pip über den Paketmanager Ihrer Distribution.

Erstellen Sie nun eine virtuelle Umgebung (venv) und installieren Sie scikit-learn. Beachten Sie, dass die virtuelle Umgebung optional, aber dringend empfohlen ist, um potenzielle Konflikte mit anderen Paketen zu vermeiden.

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

Um Ihre Installation zu überprüfen, können Sie

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

Installieren Sie conda mit den conda-forge-Installationsprogrammen (keine Administratorberechtigung erforderlich). Führen Sie dann aus

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

Um Ihre Installation zu überprüfen, können Sie

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

Die Verwendung einer isolierten Umgebung wie pip venv oder conda ermöglicht die unabhängige Installation einer bestimmten Version von scikit-learn mit pip oder conda und seinen Abhängigkeiten, unabhängig von zuvor installierten Python-Paketen. Insbesondere unter Linux wird davon abgeraten, pip-Pakete parallel zu den vom Paketmanager der Distribution verwalteten Paketen (apt, dnf, pacman…) zu installieren.

Beachten Sie, dass Sie die Umgebung Ihrer Wahl immer aktivieren müssen, bevor Sie Python-Befehle ausführen, wenn Sie eine neue Terminal-Sitzung starten.

Wenn Sie NumPy oder SciPy noch nicht installiert haben, können Sie diese ebenfalls mit conda oder pip installieren. Bei Verwendung von pip stellen Sie bitte sicher, dass *Binär-Wheels* verwendet werden und NumPy und SciPy nicht aus dem Quellcode neu kompiliert werden, was bei bestimmten Konfigurationen von Betriebssystem und Hardware (wie z. B. Linux auf einem Raspberry Pi) geschehen kann.

Die Plotting-Funktionen von Scikit-learn (d. h. Funktionen, die mit plot_ beginnen, und Klassen, die mit Display enden) erfordern Matplotlib. Die Beispiele erfordern Matplotlib, und einige Beispiele erfordern scikit-image, pandas oder seaborn. Die Mindestversionen der scikit-learn-Abhängigkeiten sind zusammen mit ihrem Zweck unten aufgeführt.

Abhängigkeit

Mindestversion

Zweck

numpy

1.24.1

Erstellung, Installation

scipy

1.10.0

Erstellung, Installation

joblib

1.3.0

Installation

threadpoolctl

3.2.0

Installation

cython

3.1.2

Erstellung

meson-python

0.17.1

Erstellung

matplotlib

3.6.1

Benchmark, Docs, Beispiele, Tests

scikit-image

0.22.0

Docs, Beispiele

pandas

1.5.0

Benchmark, Docs, Beispiele, Tests

seaborn

0.13.0

Docs, Beispiele

memory_profiler

0.57.0

Benchmark, Docs

pytest

7.1.2

Tests

pytest-cov

2.9.0

Tests

ruff

0.11.7

Tests

mypy

1.15

Tests

pyamg

5.0.0

Tests

polars

0.20.30

Docs, Tests

pyarrow

12.0.0

Tests

sphinx

7.3.7

Docs

sphinx-copybutton

0.5.2

Docs

sphinx-gallery

0.17.1

Docs

numpydoc

1.2.0

Docs, Tests

Pillow

10.1.0

Docs

pooch

1.8.0

Docs, Beispiele, Tests

sphinx-prompt

1.4.0

Docs

sphinxext-opengraph

0.9.1

Docs

plotly

5.18.0

Docs, Beispiele

sphinxcontrib-sass

0.3.4

Docs

sphinx-remove-toctrees

1.0.0.post1

Docs

sphinx-design

0.6.0

Docs

pydata-sphinx-theme

0.15.3

Docs

towncrier

24.8.0

Docs

conda-lock

3.0.1

Wartung

Warnung

Scikit-learn 0.20 war die letzte Version, die Python 2.7 und Python 3.4 unterstützte.

Scikit-learn 0.21 unterstützte Python 3.5—3.7.

Scikit-learn 0.22 unterstützte Python 3.5—3.8.

Scikit-learn 0.23 erforderte Python 3.6—3.8.

Scikit-learn 0.24 erforderte Python 3.6—3.9.

Scikit-learn 1.0 unterstützte Python 3.7—3.10.

Scikit-learn 1.1, 1.2 und 1.3 unterstützten Python 3.8—3.12.

Scikit-learn 1.4 und 1.5 unterstützten Python 3.9—3.12.

Scikit-learn 1.6 unterstützte Python 3.9—3.13.

Scikit-learn 1.7 erfordert Python 3.10 oder neuer.

Drittanbieter-Distributionen von scikit-learn#

Einige Drittanbieter-Distributionen stellen Versionen von scikit-learn zur Verfügung, die in ihre Paketverwaltungssysteme integriert sind.

Dies kann die Installation und Aktualisierung für Benutzer erheblich erleichtern, da die Integration die Möglichkeit beinhaltet, Abhängigkeiten (numpy, scipy), die scikit-learn benötigt, automatisch zu installieren.

Die folgende Liste ist eine unvollständige Liste von Betriebssystemen und Python-Distributionen, die ihre eigenen Versionen von scikit-learn anbieten.

Alpine Linux#

Das Paket von Alpine Linux wird über die offiziellen Repositories als py3-scikit-learn für Python bereitgestellt. Es kann durch Eingabe des folgenden Befehls installiert werden

sudo apk add py3-scikit-learn

Arch Linux#

Das Paket von Arch Linux wird über die offiziellen Repositories als python-scikit-learn für Python bereitgestellt. Es kann durch Eingabe des folgenden Befehls installiert werden

sudo pacman -S python-scikit-learn

Debian/Ubuntu#

Das Debian/Ubuntu-Paket ist in drei verschiedene Pakete unterteilt: python3-sklearn (Python-Module), python3-sklearn-lib (Low-Level-Implementierungen und Bindings), python-sklearn-doc (Dokumentation). Beachten Sie, dass scikit-learn Python 3 benötigt, daher die Notwendigkeit, die Pakete mit dem Suffix python3- zu verwenden. Pakete können mit apt-get installiert werden.

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

Fedora#

Das Fedora-Paket heißt python3-scikit-learn für die Python-3-Version, die einzige, die in Fedora verfügbar ist. Es kann mit dnf installiert werden.

sudo dnf install python3-scikit-learn

NetBSD#

scikit-learn ist über pkgsrc-wip verfügbar: https://pkgsrc.se/math/py-scikit-learn

MacPorts für Mac OSX#

Das MacPorts-Paket heißt py<XY>-scikit-learn, wobei XY die Python-Version bezeichnet. Es kann durch Eingabe des folgenden Befehls installiert werden

sudo port install py312-scikit-learn

Anaconda und Enthought Deployment Manager für alle unterstützten Plattformen#

Anaconda und Enthought Deployment Manager liefern scikit-learn zusätzlich zu einer großen Sammlung wissenschaftlicher Python-Bibliotheken für Windows, Mac OSX und Linux.

Anaconda bietet scikit-learn als Teil seiner kostenlosen Distribution an.

Intel Extension für Scikit-learn#

Intel pflegt ein optimiertes x86_64-Paket, das in PyPI (über pip) sowie in den conda-Kanälen main, conda-forge und intel verfügbar ist.

conda install scikit-learn-intelex

Dieses Paket enthält eine Intel-optimierte Version vieler Schätzer. Wenn keine alternative Implementierung existiert, wird die scikit-learn-Implementierung als Fallback verwendet. Diese optimierten Löser stammen aus der oneDAL C++-Bibliothek und sind für die x86_64-Architektur optimiert und für Multi-Core-Intel-CPUs.

Beachten Sie, dass diese Löser nicht standardmäßig aktiviert sind. Weitere Informationen zu Anwendungsszenarien finden Sie in der Dokumentation von scikit-learn-intelex. Beispiel für direkten Export

from sklearnex.neighbors import NearestNeighbors

Die Kompatibilität mit den Standard-Scikit-learn-Lösern wird durch Ausführung der gesamten Scikit-learn-Testsuite über automatisierte Continuous Integration überprüft, wie auf intel/scikit-learn-intelex berichtet. Wenn Sie Probleme mit scikit-learn-intelex feststellen, melden Sie das Problem bitte in deren Issue Tracker.

WinPython für Windows#

Das Projekt WinPython verteilt scikit-learn als zusätzliches Plugin.

Fehlerbehebung#

Wenn bei der Installation von scikit-learn unerwartete Fehler auftreten, können Sie ein Problem im Issue Tracker melden. Stellen Sie vorher bitte sicher, dass Sie die folgenden häufigen Probleme überprüfen.

Fehler durch Zeichenbegrenzung von Dateipfaden unter Windows#

Es kann vorkommen, dass pip beim Erreichen des Standard-Pfadlängenlimits von Windows fehlschlägt, wenn Python in einem verschachtelten Verzeichnis installiert ist, z. B. in der AppData-Ordnerstruktur unterhalb des Benutzerprofilordners, zum Beispiel

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'

In diesem Fall ist es möglich, dieses Limit in der Windows-Registrierung mit dem regedit-Tool aufzuheben.

  1. Geben Sie "regedit" im Windows-Startmenü ein, um regedit zu starten.

  2. Navigieren Sie zum Schlüssel Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem.

  3. Bearbeiten Sie den Wert der Eigenschaft LongPathsEnabled dieses Schlüssels und setzen Sie ihn auf 1.

  4. Installieren Sie scikit-learn neu (ignorieren Sie die vorherige fehlerhafte Installation).

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

Installation täglicher Versionen#

Die Continuous-Integration-Server des scikit-learn-Projekts erstellen, testen und laden täglich Wheel-Pakete für die aktuellste Python-Version hoch.

Sie können die tägliche Version von scikit-learn über den Index scientific-python-nightly-wheels aus dem PyPI-Repository von anaconda.org installieren.

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

Beachten Sie, dass die vorherige Deinstallation von scikit-learn erforderlich sein kann, um tägliche Versionen von scikit-learn installieren zu können.