Wer sich mit Künstlicher Intelligenz (KI) und Machine Learning (ML) oder auch mit Programmen im Bereich Statistik, Mathematik, Analyse oder Data Mining beschäftigt, sollte sich die Möglichkeiten der Python-Library scikit-learn anschauen. Der Beitrag gibt einen Überblick.
Machine Learning mit scikit-learn in Python umsetzen
(Bild: scikit-learn.org)
Bei scikit-learn handelt es sich um eine freie Software-Bibliothek für Python. Die Library scikit-learn leitet sich von SciPy Toolkit ab und baut auf der Programmiersprache Python auf. Im Fokus der Bibliothek stehen Möglichkeiten zur Programmierung von Anwendungen im Bereich von Machine Learning und anderen Bereichen. Scikit-learn kann auch Pakete wie NumPy, SciPy, oder Matplotlib einsetzen.
Scitcit-learn in eine aktuelle Python-Umgebung integrieren
Die Integration in einer 64-Bit-Installation von Python 3 ist sehr einfach über einen der Befehle „pip install -U scikit-learn“, „pip install scikit-learn“ oder „conda install scikit-learn“ möglich. Die Installation lässt sich danach mit den folgenden Befehlen überprüfen:
Für die Einarbeitung finden sich im Internet auch zahlreiche Beispieldaten für das das Machine Learning.
Schlanke API, gute Dokumentation und Einheitlichkeit der Komponenten
Die Bibliothek bietet eine einheitliche und schlanke API, inklusive einer umfassenden Dokumentation. Das ist für das Schreiben von Programmen zum Thema mathematische, wissenschaftliche oder statistische Anwendungen mit Python ein wichtiger Faktor. Auch für das Data Mining und zur Datenanalyse kann scikit-learn genutzt werden, genauso wie für Anwendungen, die sich mit den Themen KI und ML beschäftigt.
Ein Vorteil dieser Einheitlichkeit ist, dass Entwickler und Analysten, sobald sie die grundlegende Verwendung und Syntax von scikit-learn für einen Modelltyp verstanden haben, sehr einfach zu einem neuen Modell oder Algorithmus wechseln können. Dadurch lassen sich mit scikit-learn entwickelte Komponenten auch in größere Programme einbinden. Die Library kann parallel zu PyTorch genutzt werden. PyTorch ist ein Machine Learning-Framework auf Basis von Open Source.
Bots, Sprachassistenten und andere KI/ML-Lösungen entwickeln
Scikit-learn steht unter der BSD-Lizenz kostenlos zur Verfügung. Die Library kommt auch zum Entwickeln von Bots oder für das Entwickeln von Apps für Sprachassistenten und anderer Lösungen zum Einsatz. Wenn Künstliche Intelligenz und Machine-Learning-Programme mit Python entwickelt werden sollen, ist es sinnvoll, sich die Möglichkeiten von scikit-learn genauer anzuschauen. Scikit-learn kann darüber hinaus von Computerprogrammen erstellte Nachrichten im Internet von menschlich erstellten Texten unterscheiden, da auch hier KI-Komponenten zum Einsatz kommen.
Die Entwickler von scikit-learn stellen auch verschiedene Tutorials bereit. Die Library kann auch gemeinsam mit Pandas oder TensorFlow zum Einsatz kommen. Das Open Source Framework TensorFlow wird von zahlreichen anderen KI-Programmen und -Tools genutzt. Mit den Bibliotheken können ML-Modelle entwickelt und trainiert werden. Scikit-Learn teilt dazu seine Teilbibliotheken auf:
Classification
Regression
Clustering
Dimensionality Reduction
Model Selection
Preprocessing
Das Importieren der Teilbibliotheken erfolgt zum Beispiel mit:
import sklearn.cluster as cl# Neuronales Netz zur Klassifikationfrom sklearn.neural_network import MLPClassifier# Neuronales Netz zur Regressionfrom sklearn.neural_network import MLPRegressor
Um einen Überblick zu den verfügbaren Modellen zu erhalten, kann der folgende Code zum Einsatz kommen:
from sklearn import tree
Wichtig ist dabei, das Modell zu initialisieren. Danach lässt sich es trainieren (fit). Im Anschluss können zum Beispiel sich Prädiktionen (predict) und die Genauigkeit (score) ausgegeben werden. Mit scikit-learn ist es möglich eine Vielzahl von Modellarten und Anwendungen umzusetzen. Der komplette Datenvorverarbeitungs- und Trainingsprozess kann zum Beispiel auch in Pipelines zusammengefasst werden.
Klassifikation mit scikit-learn
(Bild: scikit-learn.org)
Integration von Python-Komponenten in andere Anwendungen
Anwendungen, die mit scikit-learn geschrieben werden, lassen sich auch in andere Programme integrieren. Dadurch können Programme KI-Funktionen erhalten, die mit scikit-learn entwickelt wurden. Im Bereich von ML arbeitet scikit-learn auch mit Funktionen von Cloud-Lösungen aus dem Bereich KI/ML zusammen, zum Beispiel auch mit Azure Databricks. Die Microsoft-Cloud-Lösung vereint verschiedene Big Data Use Cases auf einer einzigen Plattform. Auch das maschinelle Lernen und Data Science lassen sich einbinden.
Azure Databricks enthält viele maschinelle Lernbibliotheken, unterstützt aber auch die einfache Interaktion mit vielen anderen gängigen maschinellen Lernframeworks wie XGBoost, scikit-learn, TensorFlow, Keras und Horovod. Mit Azure Machine Learning können Modelle auf Basis von scikit-learn auch im großen Stil trainiert werden. Beispiele dafür beschreibt Microsoft in der Dokumentation zu Azure Machine Learning.
Der Markt für automatisiertes Machine Learning ist hart umkämpft. Angebote gibt es unter anderem. von DataRobot, Google (AutoML Tables), H2O (Driverless AI), IBM (AutoAI), Microsoft (Azure Automated ML) und als Open-Source-Bibliotheken wie Auto-Weka, Auto-sklearn oder TPOT. Viele dieser Systeme nutzen dafür scikit-learn als ML-Bibliothek für Python.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Daten mit scikit-learn darstellen
Beim maschinellen Lernen geht es vor allem darum, Modelle aus Daten zu erstellen. Dazu ist die Darstellung der Daten wichtig, damit diese auch richtig verarbeitet werden können. Daten in scikit-learn lassen sich zum Beispiel mit Datentabellen darstellen. Eine Tabelle ist dabei generell ein zweidimensionales Gitter, in dem die Zeilen einzelne Elemente des Datensatzes darstellen und die Spalten Mengen, die mit jedem dieser Elemente verbunden sind. Informationen lassen sich dadurch als zweidimensionales numerisches Array oder als Matrix betrachten. Hier lassen sich zum Beispiel noch NumPy-Arrays oder Pandas DataFrame nutzen und scikit-Learn-Modelle akzeptieren auch SciPy-sparse-Matrizen.
Die Stichproben in den Zeilen können sich dabei auf die einzelnen Objekte beziehen, die durch den Datensatz beschrieben werden. Die Stichprobe kann zum Beispiel eine Person, ein Dokument, ein Bild, eine Tondatei, ein Video, ein astronomisches Objekt oder etwas anderes sein, das mit einer Reihe von quantitativen Messungen beschrieben werden kann. Die Merkmale in den Spalten beziehen sich wiederum auf die einzelnen Beobachtungen, die jede Stichprobe auf quantitative Weise beschreiben.