Saturday, 11 July 2026 | Updating Daily AI insight, written for builders

So erstellen Sie Ihr erstes Machine-Learning-Modell in Python (2026)

Aktualisiert · Ursprünglich veröffentlicht am 18. Mai 2026

Der beste Weg, maschinelles Lernen zu verstehen, besteht darin, selbst ein Modell zu erstellen. Es ist viel weniger einschüchternd, als es klingt – mit Python und der richtigen Bibliothek benötigen Sie für Ihr erstes funktionierendes Modell lediglich etwa 20 Codezeilen. In diesem Tutorial werden alle Schritte detailliert erläutert – nicht nur was Sie eingeben müssen, sondern auch warum.

Wichtigste Erkenntnisse

  • Sie werden Python und scikit-learn – die Standard-Bibliothek für Einsteiger im Bereich des maschinellen Lernens – verwenden.
  • Der Arbeitsablauf lautet: Daten laden → Daten aufteilen → Modell trainieren → Modell bewerten → Vorhersagen treffen.
  • Die goldene Regel: Testen Sie das Modell stets an Daten, die es während des Trainings niemals gesehen hat.
  • Keine fortgeschrittenen mathematischen Kenntnisse erforderlich – scikit-learn übernimmt die komplexen Berechnungen.

Was Sie erstellen werden

Sie erstellen einen Klassifikator – ein Modell, das Objekte in Kategorien einteilt. Dazu verwenden wir den klassischen Einstiegsdatensatz, den Iris-Datensatz: Messwerte von Irisblüten (Länge und Breite von Kelch- und Kronblättern), bei dem die Aufgabe darin besteht, die Art der Blüte vorherzusagen. Der Datensatz ist klein, sauber und bereits in scikit-learn integriert – somit ideal für Ihr erstes Modell.

Die fünf hier erlernten Schritte gelten für nahezu jedes Projekt im Bereich des maschinellen Lernens – unabhängig von dessen Größe.

Schritt 1: Einrichten der benötigten Tools

Sie benötigen Python sowie zwei Bibliotheken. scikit-learn ist die zentrale Bibliothek – sie stellt Datensätze, Algorithmen und Bewertungswerkzeuge über eine konsistente, für Einsteiger optimierte Schnittstelle bereit.

Installieren Sie beide Bibliotheken über Ihr Terminal:

pip install scikit-learn pandas

Sie können den Code in einer einfachen .py -Datei schreiben; empfehlenswert ist jedoch ein Jupyter-Notebook (oder ein kostenloses Cloud-Notebook wie Google Colab) – hier können Sie den Code in kleinen Abschnitten ausführen und jedes Ergebnis sofort sehen.

Schritt 2: Laden der Daten

Jedes Projekt im Bereich des maschinellen Lernens beginnt mit Daten. Hier laden wir den integrierten Iris-Datensatz:

from sklearn.datasets import load_iris

iris = load_iris()
X = iris.data      # die Messwerte (die Eingaben / Merkmale)
y = iris.target    # die Arten (die Labels / Zielwerte)

print("Form von X:", X.shape)   # (150, 4) – 150 Blüten, jeweils 4 Messwerte
print("Klassen:", iris.target_names)

Zwei Variablen sind hier entscheidend; die Namensgebung folgt einer universellen Konvention:

  • X enthält die Merkmale — die Eingaben, aus denen das Modell lernt (die vier Messungen).
  • y enthält die Beschriftungen — die korrekten Antworten (die Arten).

Da wir die Antworten kennen, handelt es sich hierbei um überwachtes Lernen.

Schritt 3: Aufteilen der Daten

Dies ist der wichtigste Schritt, um ein ehrliches Ergebnis zu erhalten. Sie müssen Ihre Daten in zwei Teile aufteilen:

  • A Trainingsdatensatz aus dem das Modell lernt.
  • A Testdatensatz den das Modell während des Trainings niemals sieht – ausschließlich zur Bewertung verwendet.

Wenn Sie denselben Datensatz zum Testen verwenden würden, auf dem auch trainiert wurde, würden Sie lediglich das Ausmaß der Auswendiglernen-Mechanismen messen, nicht echtes Lernen. (So erkennen Sie Überanpassung (Overfitting).)

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42
)

test_size=0.2 behält 20 % der Daten für Tests bei und trainiert mit den übrigen 80 %. random_state=42 stellt lediglich sicher, dass die zufällige Aufteilung reproduzierbar ist, sodass Sie bei jedem Durchlauf dasselbe Ergebnis erhalten.

Schritt 4: Wahl und Training eines Modells

Nun folgt das eigentliche maschinelle Lernen. Wir verwenden einen Random-Forest-Algorithmus — einen genauen, zuverlässigen und für Einsteiger gut geeigneten Algorithmus (siehe unser Algorithmen-Leitfaden).

In scikit-learn erfolgt das Training eines Modells in zwei Zeilen:

from sklearn.ensemble import RandomForestClassifier

model = RandomForestClassifier(random_state=42)
model.fit(X_train, y_train)

Dieser .fit() -Aufruf ist führt das Training durch. Das Modell analysiert die Trainingsmerkmale und ihre Beschriftungen und erlernt die Muster, die Messungen mit Arten verbinden. scikit-learn übernimmt sämtliche dahinterstehende Mathematik – alles in dieser einzigen Zeile.

Schritt 5: Bewertung des Modells

Überprüfen Sie nun, wie gut das Modell gelernt hat – mithilfe des Testdatensatzes, den es zuvor noch nie gesehen hat:

from sklearn.metrics import accuracy_score

predictions = model.predict(X_test)
accuracy = accuracy_score(y_test, predictions)

print(f"Genauigkeit: {accuracy:.2%}")

.predict() fordert das Modell auf, die Testblumen zu klassifizieren; accuracy_score vergleicht dessen Vorhersagen mit den tatsächlichen Antworten. Beim Iris-Datensatz liegt die Genauigkeit typischerweise bei etwa 95–100 % – Ihr Modell identifiziert nahezu jede Blume korrekt, die es zuvor noch nie gesehen hat.

Schritt 6: Vorhersage für neue Daten

Der eigentliche Nutzen: Einsatz des Modells auf völlig neuen Eingabedaten. Geben Sie ihm einen Satz Messwerte, und es prognostiziert die Art:

new_flower = [[5.1, 3.5, 1.4, 0.2]]   # Kelch- und Kronblatt-Messungen
prediction = model.predict(new_flower)

print("Vorhergesagte Art:", iris.target_names[prediction[0]])

Damit haben Sie ein vollständiges Machine-Learning-Modell: trainiert, getestet und fähig, Vorhersagen für Daten zu treffen, die es zuvor noch nie gesehen hat.

Der komplette Workflow

Diese fünf Schritte sind nicht nur eine Übung – sie bilden das Grundgerüst praktisch jedes Projekts zum überwachten maschinellen Lernen:

SchrittWas er bewirkt
1. Daten ladenMerkmale (X) und Beschriftungen (y) abrufen
2. Daten aufteilenTrainings- und Testdatensätze trennen
3. Trainierenmodel.fit() lernt das zugrundeliegende Muster
4. BewertenGenauigkeit anhand unbekannter Testdaten messen
5. Vorhersagenmodel.predict() für neue Eingaben

Größere Projekte umfassen zusätzliche Schritte wie Datenbereinigung, Merkmalsvorbereitung und Modellanpassung – doch diese Kernschleife bleibt unverändert.

Weiterführende Empfehlungen

Um weiterzubauen:

  • Probieren Sie andere Algorithmen aus — tauschen Sie RandomForestClassifier für LogisticRegression oder SVC und vergleichen Sie die Ergebnisse. Die konsistente Schnittstelle von scikit-learn macht dies trivial.
  • Probieren Sie andere Datensätze aus — üben Sie mit solchen kostenlose Datensätze , die Sie interessieren.
  • Lernen Sie die Datenaufbereitung kennen — reale Daten sind unstrukturiert; das Bereinigen und Aufbereiten nimmt den größten Teil der Arbeit ein.
  • Erschließen Sie sich die Modellbewertung — Genauigkeit (accuracy) ist nur eine Metrik; lernen Sie Präzision (precision), Rückrufrate (recall) und Kreuzvalidierung (cross-validation) kennen.

Häufige Fehler, die Ihr erstes Modell stillschweigend zerstören

Ihr Modell wurde trainiert und hat eine Genauigkeitsangabe ausgegeben – doch eine scheinbar gute Zahl ist nicht dasselbe wie ein funktionierendes Modell. Dies sind die Fallen, in die Anfänger am häufigsten tappen, und alle lassen sich leicht vermeiden, sobald man weiß, dass sie existieren.

  • Bewertung des Modells anhand von Daten, die es bereits gesehen hat. Wenn Sie die Genauigkeit anhand der Trainingsdaten messen, bewerten Sie das Modell anhand von Antworten, die es auswendig gelernt hat. Eine Genauigkeit von 100 % sagt hier nichts aus. Bewerten Sie das Modell stets anhand des separat gehaltenen Testdatensatzes, den Sie beim Aufteilen der Daten erstellt haben – denn nur diese Kennzahl schätzt die Leistung im echten Einsatz ab.
  • Datenleckage: Testdaten beeinflussen unbemerkt das Training. Dies ist der gravierendste und zugleich am wenigsten offensichtliche Fehler. Wenn Sie Skalierung, Normalisierung oder das Auffüllen fehlender Werte vor vor der Aufteilung durchführen, gelangen Statistiken aus dem Testdatensatz (z. B. der Mittelwert einer Spalte) in das Training und verfälschen Ihren Bewertungswert. Die Lösung besteht in einer strikten Reihenfolge: Zuerst aufteilen, dann fit jeden Transformer ausschließlich auf dem Trainingsdatensatz anwenden und ihn anschließend lediglich apply auf den Testdatensatz anwenden. Die Dokumentation von scikit-learn nennt dies eine der häufigsten Fallgruben im Machine Learning.
  • Vergessen, die Daten bei bedarfsspezifischen Algorithmen zu skalieren. Entfernungs- und gradientenbasierte Modelle (z. B. k-nächste Nachbarn, SVMs, logistische Regression) liefern verzerrte Ergebnisse, wenn ein Merkmal Werte zwischen 0 und 1 und ein anderes zwischen 0 und 100.000 annimmt. Entscheidungsbaum-basierte Modelle wie Random Forests sind davon unbeeinflusst. Klären Sie daher vorab, welcher Kategorie Ihr Algorithmus zuzuordnen ist.
  • Blindes Vertrauen in die Genauigkeit bei unausgeglichenen Daten. Wenn 95 % Ihrer Beispiele einer Klasse angehören, erreicht ein Modell, das stets diese Klasse vorhersagt, eine Genauigkeit von 95 %, ist aber vollkommen nutzlos. Bei unausgeglichenen Klassen lesen Sie stattdessen Präzision, Rückrufrate und F1-Score aus classification_report ab – nicht nur die Genauigkeit.

Die sauberste Verteidigung gegen Datenleckage ist eine PipelinePipeline.

  • from sklearn.pipeline import make_pipeline
  • model = make_pipeline(StandardScaler(), LogisticRegression())
  • Rufen Sie dann einfach model.fit(X_train, y_train) wie gewohnt auf.

Eine letzte Gewohnheit, die es sich lohnt, früh zu entwickeln: Eine einzelne Aufteilung in Trainings- und Testdaten liefert eine verrauschte Schätzung. Wenn Sie den Vorgang mit einer anderen zufälligen Aufteilung wiederholen, kann sich Ihr Score um mehrere Punkte verschieben. Sobald Sie sich sicher fühlen, ersetzen Sie die einzelne Aufteilung durch cross_val_score, das über mehrere Folds hinweg trainiert und evaluiert und den Durchschnittswert ausgibt – eine deutlich ehrlichere Einschätzung, ob Ihr Modell tatsächlich etwas gelernt hat.

Häufig gestellte Fragen (FAQ)

Wie erstelle ich ein Machine-Learning-Modell in Python?

Verwenden Sie die Bibliothek scikit-learn. Der typische Workflow lautet: Laden Sie Ihre Daten als Merkmale (X) und Zielgrößen (y), teilen Sie sie in Trainings- und Testdatensätze auf, erstellen Sie ein Modell und rufen Sie .fit() auf, um es zu trainieren, bewerten Sie es anhand des Testdatensatzes und verwenden Sie .predict() für Vorhersagen mit neuen Daten. Ein erstes Modell umfasst etwa 20 Codezeilen.

Welche Bibliothek sollte man als Anfänger für Machine Learning verwenden?

scikit-learn. Sie bietet eine breite Palette an Algorithmen, integrierte Datensätze und Bewertungswerkzeuge über eine einfache, konsistente Schnittstelle – und übernimmt die zugrundeliegende Mathematik für Sie. Sie ist der Standard-Einstiegspunkt, bevor man zu Deep-Learning-Frameworks wechselt.

Muss man gut in Mathematik sein, um ein ML-Modell zu erstellen?

Nein. Um Modelle mit scikit-learn zu erstellen, benötigen Sie lediglich Grundkenntnisse in Python sowie ein Verständnis des typischen Workflows. Die Bibliothek übernimmt die mathematischen Berechnungen. Tiefere mathematische Kenntnisse werden erst später nützlich, etwa wenn Sie Modelle professionell optimieren oder Forschung betreiben möchten.

Warum muss man die Daten in Trainings- und Testdatensätze aufteilen?

Um die tatsächliche Leistungsfähigkeit messen zu können. Wenn Sie ein Modell an denselben Daten testen, an denen es trainiert wurde, messen Sie lediglich dessen Auswendiglernen (Memorierung). Ein separater Testdatensatz, den das Modell zuvor nie gesehen hat, zeigt, ob es tatsächlich das zugrundeliegende Muster erlernt und auf neue Daten verallgemeinern kann.

Was bewirkt model.fit()?

.fit() ist der Trainingsvorgang. Dabei werden die Trainingsmerkmale und -zielgrößen an den Algorithmus übergeben, der seine internen Parameter anpasst, um die Zusammenhänge zwischen Eingaben und korrekten Antworten zu erlernen. Nach .fit(), ist das Modell trainiert und bereit für Vorhersagen.

Mein Modell erreichte eine hohe Genauigkeit – bedeutet das, dass es gut ist?

Nicht unbedingt. Eine hohe Genauigkeit ist nur dann aussagekräftig, wenn sie auf dem separaten Testdatensatz – nicht auf den Trainingsdaten – ermittelt wurde und wenn Ihre Klassen annähernd ausgeglichen sind. Bei einem Datensatz, bei dem eine Klasse dominiert, kann eine hohe Genauigkeit einfach daher rühren, dass das Modell bei jeder Vorhersage die Mehrheitsklasse wählt. Überprüfen Sie Präzision, Recall und F1-Score mit classification_report, und stellen Sie sicher, dass die angegebene Zahl aus Daten stammt, auf denen das Modell niemals trainiert wurde.

Wie speichere ich mein trainiertes Modell ab und verwende es später?

Verwenden Sie Pythons joblib -Bibliothek, die zusammen mit scikit-learn ausgeliefert wird. Rufen Sie joblib.dump(model, "model.joblib") auf, um das trainierte Modell auf der Festplatte zu speichern, und joblib.load("model.joblib") , um es in einem anderen Skript wieder einzuladen – ein erneutes Training ist nicht erforderlich. Speichern Sie die gesamte Pipeline, nicht nur den finalen Estimator, damit Skalierung und Vorverarbeitung mit dem Modell „mitreisen“ und neue Eingaben konsistent verarbeitet werden.

Wie komme ich von einem integrierten Datensatz zu meinen eigenen Daten?

Laden Sie Ihre Daten mit pandas – pandas.read_csv("yourfile.csv") – und trennen Sie dann Ihre Eingabespalten (Features, üblicherweise als Xbezeichnet) von der Spalte, die Sie vorhersagen möchten (das Ziel, y). Ab diesem Punkt bleibt der Workflow identisch: Aufteilen, Trainieren, Evaluieren. Der zusätzliche Aufwand besteht hauptsächlich im Datenbereinigen: Behandlung fehlender Werte, Kodierung textueller Kategorien in Zahlen sowie Auswahl der tatsächlich relevanten Spalten. Dieser Schritt der Datenaufbereitung macht den größten Teil der realen ML-Arbeitszeit aus.

Fazit

Der Aufbau Ihres ersten Machine-Learning-Modells ist tatsächlich ein kurzes, realistisch umsetzbares Projekt: Installieren Sie scikit-learn, laden Sie dann Ihre Daten, teilen Sie sie auf, trainieren Sie das Modell, bewerten Sie es und treffen Sie Vorhersagen. Diese fünf Schritte bilden die Grundlage nahezu jedes überwachten ML-Projekts, das Sie jemals umsetzen werden.

Lesen Sie dies nicht nur – öffnen Sie ein Jupyter-Notebook und führen Sie den Code aus. Ändern Sie den Algorithmus, probieren Sie einen anderen Datensatz aus, brechen Sie etwas und beheben Sie den Fehler. Die Konzepte des Machine Learnings erschließen sich deutlich schneller, sobald Sie selbst ein Modell trainiert haben. Wenn Sie bereit für mehr sind, laden Sie einen kostenlosen Datensatz herunter und entwickeln Sie etwas Eigenes.

Scroll to Top
Featured on There's An AI For That