Scikit-learn
scikit-learn
| |
---|---|
![]() | |
Basisdaten
| |
Entwickler | David Cournapeau[1], Olivier Grisel[2], Gaël Varoquaux[2], Alexandre Gramfort, Andreas Mueller |
Aktuelle Version | 1.6.1[3] (10. Januar 2025) |
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, 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 Library wird in mehreren 2017 erschienenen deutschsprachigen Lehrbüchern benutzt.[5][6]
Implementierung
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.
Beispiele
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]
Weblinks
Einzelnachweise
- ↑ github.com.
- ↑ a b github.com. (abgerufen am 16. August 2021).
- ↑ Release 1.6.1. 10. Januar 2025 (abgerufen am 29. Januar 2025).
- ↑ The scikit-learn Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 14. Juli 2018).
- ↑ 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. 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).