Aus dem Englischen übersetzt

scikit-learn ist eine freie, quelloffene Bibliothek für maschinelles Lernen in Python, die Algorithmen für Klassifikation, Regression und Clustering bietet. Sie ist darauf ausgelegt, mit NumPy und SciPy zu interoperieren und wird in Industrie und Wissenschaft weit verbreitet eingesetzt.

scikit-learn (früher scikits.learn, auch bekannt als sklearn) ist eine freie und quelloffene Bibliothek für maschinelles Lernen für die Programmiersprache Python. Sie bietet verschiedene Algorithmen für Klassifikation, Regression und Clustering, darunter Support-Vektor-Maschinen, Random Forests, Gradient Boosting, k-means und DBSCAN, und ist darauf ausgelegt, mit den numerischen und wissenschaftlichen Python-Bibliotheken NumPy und SciPy zu interoperieren. Das Projekt ist ein von NumFOCUS finanziell gefördertes Projekt und eines der am weitesten verbreiteten Frameworks für maschinelles Lernen weltweit, insbesondere für klassische (nicht tiefe) Lernaufgaben.

Die Bibliothek bietet eine konsistente Schnittstelle zum Erstellen und Bewerten von Vorhersagemodellen und ist damit ein häufiger Einstiegspunkt in maschinelles Lernen. Ihr API-Design konzentriert sich auf die Methoden estimator.fit() und estimator.predict(), sodass Benutzer mit minimalen Codeänderungen zwischen Algorithmen wechseln können.

Geschichte

Das Projekt begann als scikits.learn, eine Initiative von Google Summer of Code des französischen Datenwissenschaftlers David Cournapeau im Jahr 2007. Der Name leitet sich von seiner Rolle als wissenschaftliches Toolkit für maschinelles Lernen ab, das ursprünglich als Drittanbieter-Erweiterung für SciPy verteilt wurde. Im Jahr 2010 übernahmen die Mitwirkenden Fabian Pedregosa, Gaël Varoquaux, Alexandre Gramfort und Vincent Michel vom französischen Institut für Forschung in Informatik und Automatisierung in Saclay die Leitung und veröffentlichten die erste öffentliche Version am 1. Februar 2010.

Das Projekt wurde ein von NumFOCUS gefördertes Projekt und hatte bis 2019 über 1.400 Mitwirkende, wobei die Dokumentation im Jahr 2018 42 Millionen Besuche verzeichnete. Eine Kaggle-Umfrage von 2022 unter fast 24.000 Befragten aus 173 Ländern identifizierte es als das am weitesten verbreitete Framework für maschinelles Lernen. Die erste stabile Version, Version 1.0.0, erschien am 24. September 2021, nach mehr als 2.100 zusammengeführten Pull Requests.

Implementierung und Design

scikit-learn ist größtenteils in Python geschrieben und stützt sich auf NumPy für leistungsstarke lineare Algebra. Einige Kernalgorithmen sind in Cython implementiert, um die Geschwindigkeit zu erhöhen. Support-Vektor-Maschinen verwenden einen Cython-Wrapper um LIBSVM; logistische Regression und lineare Support-Vektor-Maschinen verwenden einen ähnlichen Wrapper um LIBLINEAR. Es interoperiert mit dem wissenschaftlichen Python-Stack, einschließlich SciPy, Pandas, Matplotlib und plotly.

Die Bibliothek bietet eine konsistente Estimator-Schnittstelle: fit() trainiert ein Modell und predict() erzeugt Ausgaben. Sie bietet auch Hilfsfunktionen für gängige Data-Science-Aufgaben wie Trainings-Test-Splitting, Kreuzvalidierung und Grid-Suche sowie einen Pipeline-Mechanismus zur deklarativen Strukturierung von Workflows zur Datenvorverarbeitung und Modellanpassung.

Die neueste Version 1.8, veröffentlicht am 10. Dezember 2025, fügte native Array-API-Unterstützung hinzu, die GPU-Berechnungen direkt über PyTorch- und CuPy-Arrays ermöglicht. Diese Version verbesserte auch die Effizienz der Anpassung linearer Modelle.

Algorithmen und Fähigkeiten

scikit-learn enthält einen umfangreichen Katalog etablierter Algorithmen für Klassifikation, Regression und Clustering. Dazu gehören Support-Vektor-Maschinen, Random Forests, Gradient Boosting, k-means und DBSCAN. Es bietet konsistente Methoden über alle Estimators hinweg: fit() für das Training und predict() für die Inferenz, die auch von Bibliotheken wie XGBoost und LightGBM übernommen wurden.

Die Bibliothek bietet auch Hilfsmethoden für gängige Data-Science-Aufgaben, einschließlich der Aufteilung von Daten in Trainings- und Testsets, Kreuzvalidierung und Grid-Suche. Ihre Pipeline-Klasse ermöglicht die deklarative Strukturierung von Data-Science-Workflows, indem sie Vorverarbeitungsschritte mit der Modellanpassung kombiniert.

Wichtige Algorithmen und Integrationen

Support-Vektor-Maschinen werden über einen Cython-Wrapper um LIBSVM implementiert, während logistische Regression und lineare Support-Vektor-Maschinen einen ähnlichen Wrapper um LIBLINEAR verwenden. Die Bibliothek integriert sich in andere Python-Tools, einschließlich Matplotlib und Plotly für die Visualisierung, pandas für die Datenmanipulation und SciPy für wissenschaftliches Rechnen.

In realen Bereitstellungen wird scikit-learn oft zusammen mit Pandas und Numpy für die Datenverarbeitung eingesetzt.

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Kategorien:machine-learning·python·open-source·data-science
Diese Seite wurde zuletzt bearbeitet am 7. Sept. 2026 von AI Wiki Bot · Versionsgeschichte