Scikit-learn
scikit-learn
| |
---|---|
Basisdaten
| |
Entwickler | David Cournapeau[1], Olivier Grisel[2], Gaël Varoquaux[2], Alexandre Gramfort, Andreas Mueller |
Aktuelle Version | 1.5.2[3] (11. September 2024) |
Betriebssystem | Plattformunabhängig |
Programmiersprache | Python[4], C, C++, Cython |
Lizenz | 3-Klausel-BSD-Lizenz |
scikit-learn.org |
Scikit-learn (ehemals scikits.learn) ist eine freie Software-Bibliothek zum maschinellen Lernen für die Programmiersprache Python. Es bietet verschiedene Klassifikations-, Regressions- und Clustering-Algorithmen, darunter Support-Vektor-Maschinen, Random Forest, Gradient Boosting (wie XGBoost), k-means und DBSCAN. Sie basiert als SciKit (Kurzform für SciPy Toolkit), wie beispielsweise auch Scikit-image, auf den numerischen und wissenschaftlichen Python-Bibliotheken NumPy und SciPy.
Diese Bibliothek wird in mehreren 2017 erschienenen deutschsprachigen Lehrbüchern benutzt.[5][6]
Implementierung
[Bearbeiten | Quelltext bearbeiten]Scikit-learn ist weitgehend in Python geschrieben. Einige Kernalgorithmen wurden aus Performancegründen in Cython realisiert. Support-Vektor-Maschinen werden durch einen Cython-Wrapper um LIBSVM implementiert; logistische Regressions- und lineare Support-Vektor-Maschinen durch einen ähnlichen Wrapper um LIBLINEAR.
Scikit-learn lässt sich gut in viele andere Python-Bibliotheken integrieren, wie Matplotlib und plotly zum Plotten, NumPy zur Array-Vektorisierung, Pandas Dataframes, SciPy und viele mehr.[5]
Beispiele
[Bearbeiten | Quelltext bearbeiten]Klassifikation mit dem k-Nearest-Neighbor-Algorithmus
Als Trainingsdatensatz dient hier der Iris flower-Datensatz bestehend aus jeweils 50 Beobachtungen dreier Arten von Schwertlilien (Iris) (Iris Setosa, Iris Virginica und Iris Versicolor), an denen jeweils vier Attribute der Blüten erhoben wurden: die Länge und die Breite des Sepalum (Kelchblatt) und des Petalum (Kronblatt).
from sklearn import neighbors, datasets
iris = datasets.load_iris()
X, y = iris.data, iris.target
knn = neighbors.KNeighborsClassifier(n_neighbors=1)
knn.fit(X, y)
print("Welche Art von Schwertlilie (Iris Setosa, Iris Virginica oder Iris Versicolor)")
print("hat ein 3cm x 5cm Sepalum (Kelchblatt) und ein 4cm x 2cm Petalum (Kronblatt)")
print("Antwort: ", iris.target_names[knn.predict([[3, 5, 4, 2]])])
Eine tiefe Analyse dieses Datensatzes mit scikit-learn wurde mehrfach ausführlich beschrieben.[7][8][9]
Versionsverlauf
[Bearbeiten | Quelltext bearbeiten]Scikit-learn wurde ursprünglich 2007 von David Cournapeau als Google-Summer-of-Code-Projekt entwickelt. Später trat Matthieu Brucher dem Projekt bei und begann es im Rahmen seiner Diplomarbeit zu verwenden. Im Jahr 2010 beteiligte sich das INRIA (French Institute for Research in Computer Science and Automation) und die erste öffentliche Version (v0.1 Beta) wurde Ende des Jahres veröffentlicht.
Weblinks
[Bearbeiten | Quelltext bearbeiten]Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ github.com.
- ↑ a b github.com. (abgerufen am 16. August 2021).
- ↑ Release 1.5.2. 11. September 2024 (abgerufen am 26. September 2024).
- ↑ The scikit-learn Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 14. Juli 2018).
- ↑ a b Andreas C. Müller, Sarah Guido: Einführung in Machine Learning mit Python. O’Reilly-Verlag, Heidelberg 2017, ISBN 978-3-96009-049-6.
- ↑ Sebastian Raschka: Machine Learning mit Python. mitp-Verlag, Frechen 2017, ISBN 978-3-95845-422-4.
- ↑ Matthias Parbel: Oliver Zeigermann: Interaktive Einführung in Machine Learning mit Scikit-Learn. In: heise Developer. Abgerufen am 28. August 2018 (deutsch).
- ↑ Oliver Zeigermann: Jupyter Notebook zum Vortrag: Machine Learning mit Scikit-Learn. Abgerufen am 28. August 2018.
- ↑ Gael Varoquaux: 3.6. scikit-learn: machine learning in Python — Scipy lecture notes. In: Tutorials on the scientific Python ecosystem: a quick introduction to central tools and techniques. Abgerufen am 28. August 2018 (englisch).