Zum Inhalt springen

Scikit-learn

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 28. August 2018 um 21:38 Uhr durch MyContribution (Diskussion | Beiträge) (Beispiele: R). Sie kann sich erheblich von der aktuellen Version unterscheiden.
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
Programmier­sprache Python, 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, und ist so konzipiert, dass es mit den numerischen und wissenschaftlichen Python-Bibliotheken NumPy und SciPy zusammenarbeitet. Diese Library wird in mehreren 2017 erschienen deutschsprachigen Lehrbüchern benutzt.[4][5]

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 Arte 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.[6][7][8]

Einzelnachweise

  1. github.com.
  2. a b github.com. (abgerufen am 16. August 2021).
  3. Release 1.6.1. 10. Januar 2025 (abgerufen am 29. Januar 2025).
  4. Andreas C. Müller / Sarah Guido: Einführung in Machine Learning mit Python. Hrsg.: O’Reilly-Verlag. ISBN 978-3-96009-049-6 (oreilly.de [abgerufen am 28. November 2017]).
  5. Sebastian Raschka: Machine Learning mit Python | ISBN: 9783958454224. mitp-Verlag, abgerufen am 28. November 2017.
  6. Matthias Parbel: Oliver Zeigermann: Interaktive Einführung in Machine Learning mit Scikit-Learn. heise Developer, abgerufen am 28. August 2018 (deutsch).
  7. Oliver Zeigermann: Jupyter Notebook zum Vortrag: Machine Learning mit Scikit-Learn. Abgerufen am 28. August 2018.
  8. 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).