Scikit-learn

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
scikit-learn

Scikit learn logo small.svg
Basisdaten

Entwickler David Cournapeau[1], Olivier Grisel[2], Gaël Varoquaux[2], Alexandre Gramfort
Aktuelle Version 0.24.2[3]
(28. April 2021)
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[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.

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]

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. github.com.
  2. a b github.com. (abgerufen am 16. August 2021).
  3. Release 0.24.2. 28. April 2021 (abgerufen am 16. Mai 2021).
  4. The scikit-learn Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 14. Juli 2018).
  5. Andreas C. Müller, Sarah Guido: Einführung in Machine Learning mit Python. O’Reilly-Verlag, Heidelberg 2017, ISBN 978-3-96009-049-6.
  6. Sebastian Raschka: Machine Learning mit Python. mitp-Verlag, Frechen 2017, ISBN 978-3-95845-422-4.
  7. Matthias Parbel: Oliver Zeigermann: Interaktive Einführung in Machine Learning mit Scikit-Learn. heise Developer, abgerufen am 28. August 2018 (deutsch).
  8. Oliver Zeigermann: Jupyter Notebook zum Vortrag: Machine Learning mit Scikit-Learn. Abgerufen am 28. August 2018.
  9. 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).