Scikit-learn – maschinelles Lernen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Was ist Scikit-learn

Scikit-learn — ist eine der beliebtesten und leistungsfähigsten Open-Source-Python-Bibliotheken für maschinelles Lernen. Entwickelt im Jahr 2007 von David Cournapeau, ist die Bibliothek zum De-facto-Standard für die Implementierung von Machine-Learning-Algorithmen im Python-Ökosystem geworden.

Hauptaufgaben und Möglichkeiten von Scikit-learn

Die Bibliothek bietet fertige Werkzeuge zur Lösung eines breiten Spektrums von Machine-Learning-Aufgaben:

Aufgaben des überwachten Lernens (Supervised Learning):

  • Klassifikation — Zuordnung von Objekten zu bestimmten Klassen
  • Regression — Vorhersage kontinuierlicher numerischer Werte

Aufgaben des unüberwachten Lernens (Unsupervised Learning):

  • Clustering — Gruppierung ähnlicher Objekte
  • Dimensionsreduktion — Datenkompression unter Beibehaltung wichtiger Informationen
  • Anomalieerkennung — Identifizierung von Ausreißern in den Daten

Zusätzliche Möglichkeiten:

  • Datenvorverarbeitung — Normalisierung, Skalierung, Kodierung
  • Merkmalauswahl — Auswahl der informativsten Merkmale
  • Modellbewertung — verschiedene Qualitätsmetriken
  • Cross-Validation — Überprüfung der Modellstabilität
  • Hyperparameter-Optimierung — automatische Parametereinstellung

Installation und erste Einrichtung

Installation über pip

pip install scikit-learn

Installation mit zusätzlichen Abhängigkeiten

pip install scikit-learn pandas matplotlib seaborn jupyter

Überprüfung der Installation

import sklearnprint(sklearn.__version__)

Import der Hauptkomponenten

# Hauptmodulefrom sklearn.model_selection import train_test_split, cross_val_scorefrom sklearn.preprocessing import StandardScaler, LabelEncoderfrom sklearn.linear_model import LinearRegression, LogisticRegressionfrom sklearn.ensemble import RandomForestClassifierfrom sklearn.metrics import accuracy_score, classification_reportfrom sklearn.datasets import load_iris, make_classification

Architektur und grundlegende Konzepte

Estimator (Schätzer)

Estimator — ist die Basisklasse für alle Machine-Learning-Algorithmen in Scikit-learn. Jeder Estimator implementiert zwei Hauptmethoden:

  • fit(X, y) — Training des Modells auf Daten
  • predict(X) — Vorhersage für neue Daten
from sklearn.linear_model import LinearRegression

model = LinearRegression()model.fit(X_train, y_train)predictions = model.predict(X_test)

Transformer (Transformator)

Transformer — Klasse zur Datentransformation. Implementiert Methoden:

  • fit(X) — Erlernen der Transformationsparameter
  • transform(X) — Anwendung der Transformation
  • fit_transform(X) — Kombination von fit und transform
from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()X_scaled = scaler.fit_transform(X)

Pipeline (Pipeline)

Pipeline ermöglicht es, mehrere Schritte der Datenverarbeitung und des Trainings in einer einzigen Sequenz zu kombinieren:

from sklearn.pipeline import Pipelinefrom sklearn.preprocessing import StandardScalerfrom sklearn.svm import SVC

pipeline = Pipeline([ ('scaler', StandardScaler()), ('classifier', SVC())])

pipeline.fit(X_train, y_train)predictions = pipeline.predict(X_test)

Arbeiten mit Daten

Integrierte Datasets

Scikit-learn bietet eine Vielzahl vorgefertigter Dat

Empfehlungen