Get the App

Chapter 4 of 7

Vom Problem zum Modell: Ein typischer Machine‑Learning‑Workflow

In diesem Modul lernst du den typischen Ablauf eines ML‑Projekts kennen – von der Problemformulierung über die Datenaufbereitung bis zur Modellbewertung.

15 min readde

1. Überblick: Was ist ein ML‑Workflow?

In diesem Modul schauen wir uns an, wie ein typisches Machine‑Learning‑Projekt Schritt für Schritt abläuft.

Du kennst bereits:

  • Arten von ML: überwacht, unüberwacht, bestärkend
  • Datenbegriffe: Features, Labels, Train/Valid/Test‑Split

Jetzt ordnen wir das in einen Workflow ein. Ein stark vereinfachter, aber in der Praxis sehr typischer Ablauf sieht so aus:

  1. Problem formulieren → Was soll das Modell tun?
  2. Daten sammeln und verstehen → Welche Daten haben wir / brauchen wir?
  3. Daten aufbereiten (Preprocessing) → Aufräumen, fehlende Werte, Formate
  4. Features wählen/erstellen (Feature Engineering) → Welche Eingaben bekommt das Modell?
  5. Modell auswählen → Z. B. lineare Regression, Entscheidungsbaum, Random Forest
  6. Modell trainieren → Parameter an die Trainingsdaten anpassen
  7. Modell validieren und verbessern → Hyperparameter anpassen, Overfitting prüfen
  8. Modell testen und bewerten → Unabhängige Testdaten, Metriken auswerten

In den nächsten Schritten gehen wir diese Punkte mit einem konkreten Beispiel durch: Spam‑Erkennung in E‑Mails.

2. Problem formulieren: Klassifikation oder Regression?

Der erste Schritt in jedem ML‑Projekt ist die Problemformulierung.

Zwei sehr wichtige Arten überwachten Lernens:

  • Klassifikation: Das Modell ordnet Beispiele in Kategorien ein.
  • Beispiele:
  • Spam‑Erkennung: Spam vs. Kein Spam
  • Bildklassifikation: Katze, Hund, Pferd
  • Diagnose: krank vs. gesund
  • Regression: Das Modell sagt Zahlenwerte voraus.
  • Beispiele:
  • Wohnungs‑Preis in Euro
  • Temperatur in °C morgen um 12 Uhr
  • Umsatzvorhersage für nächsten Monat

Unser Beispielproblem:

> Eine E‑Mail‑App soll automatisch erkennen, ob eine eingehende E‑Mail Spam ist oder nicht.

Das ist eine Klassifikationsaufgabe mit zwei Klassen (binäre Klassifikation):

  • Klasse 0: Kein Spam
  • Klasse 1: Spam

Wichtig: Schon hier solltest du klären:

  • Was genau soll vorhergesagt werden?
  • Wie wird Erfolg gemessen? (z. B. „mindestens 95 % korrekte Erkennung“)
  • Welche Daten stehen realistisch zur Verfügung?

3. Mini‑Übung: Problemtyp erkennen

Überlege dir, ob es sich bei den folgenden Aufgaben um Klassifikation oder Regression handelt.

  1. Ein Online‑Shop will vorhersagen, ob eine Person einen Einkauf abbrechen wird.
  2. Ein Energieversorger möchte den Stromverbrauch in kWh für morgen schätzen.
  3. Ein Krankenhaus möchte einschätzen, ob ein Patient ein hohes, mittleres oder niedriges Risiko für Komplikationen hat.

Deine Aufgabe:

  • Schreibe für jede Aufgabe auf: Klassifikation oder Regression.
  • Begründe kurz, warum.

Blättere erst weiter, wenn du deine Antworten notiert hast.

Lösungsvorschlag (zum Selbstcheck):

  1. Klassifikation (z. B. abbricht vs. bricht nicht ab)
  2. Regression (kontinuierlicher Zahlenwert in kWh)
  3. Klassifikation (diskrete Klassen: hoch, mittel, niedrig)

4. Daten sammeln und verstehen

Nachdem das Problem klar ist, brauchst du Daten.

Beim Spam‑Beispiel könnte ein Datensatz so aussehen (stark vereinfacht):

| E‑Mail‑Text (gekürzt) | Absender‑Domain | Enthält "€"? | Label (Spam?) |

|--------------------------------------------|-----------------|--------------|---------------|

| "Gewinnen Sie jetzt 1.000.000 €!!!" | lotto‑promo.com | ja | 1 (Spam) |

| "Team‑Meeting morgen um 10 Uhr" | firma.de | nein | 0 (kein Spam) |

| "Rabatt nur heute: 70 % auf alles" | shop‑xyz.com | nein | 1 (Spam) |

  • Die Features könnten sein:
  • Absender‑Domain
  • Enthält die E‑Mail bestimmte Wörter ("Gewinn", "Rabatt", "€")?
  • Anzahl Links in der E‑Mail
  • Das Label ist hier: Spam (1) oder kein Spam (0).

Wichtige Fragen beim Datenverstehen:

  • Sind die Daten repräsentativ für das reale Problem?
  • Gibt es Bias (z. B. nur E‑Mails aus einer bestimmten Sprache oder Region)?
  • Wie groß ist der Datensatz? (Kleine Datensätze → eher einfache Modelle)

In der Praxis wird heute (Stand 2026) auch stark auf Datenschutz (z. B. DSGVO in der EU) geachtet:

Personenbezogene Daten müssen rechtlich sauber erhoben und verarbeitet werden.

5. Datenaufbereitung (Preprocessing) & Feature Engineering

Rohdaten sind fast nie direkt für ein Modell geeignet. Datenaufbereitung bedeutet u. a.:

1. Preprocessing (Aufräumen & Vereinheitlichen)

  • Fehlende Werte behandeln (z. B. durch Durchschnitt ersetzen oder Zeilen löschen)
  • Duplikate entfernen (z. B. doppelte E‑Mails)
  • Formate vereinheitlichen (z. B. alles in Kleinbuchstaben, Datumsformate angleichen)
  • Text in Zahlen umwandeln (Modelle arbeiten in der Regel mit Zahlen):
  • z. B. Anzahl bestimmter Wörter zählen
  • oder moderne Textrepräsentationen (Word‑Embeddings, aber das brauchst du hier noch nicht im Detail)

2. Feature Engineering

Feature Engineering heißt: sinnvolle Eingangsgrößen (Features) aus den Rohdaten erstellen.

Beim Spam‑Beispiel könnten Features sein:

  • `anzahl_ausrufezeichen`
  • `enthaeltwortgewinn` (0 oder 1)
  • `anzahl_links`
  • `laenge_email` (Anzahl Zeichen)

Ziel: Informationen aus den Daten so darstellen, dass ein Modell Muster erkennen kann.

Danach teilst du deinen Datensatz (wie im vorherigen Modul gelernt) typischerweise auf in:

  • Trainingsdaten (z. B. 70 %)
  • Validierungsdaten (z. B. 15 %)
  • Testdaten (z. B. 15 %)

Wichtig: Die Testdaten bleiben bis zum Schluss unangetastet, damit die Bewertung ehrlich ist.

6. Mini‑Codebeispiel: Von Rohdaten zu Features

Das folgende Beispiel (Python mit scikit‑learn, einer sehr verbreiteten Bibliothek) zeigt vereinfacht, wie Textdaten in numerische Features umgewandelt und ein einfaches Modell trainiert werden können.

```python

from sklearn.feature_extraction.text import CountVectorizer

from sklearn.linear_model import LogisticRegression

from sklearn.modelselection import traintest_split

1. Beispiel-Daten (Texte + Labels)

emails = [

"Gewinnen Sie jetzt 1.000.000 Euro!!!",

"Team-Meeting morgen um 10 Uhr",

"Rabatt nur heute: 70% auf alles",

"Protokoll der letzten Vorstandssitzung",

]

labels = [1, 0, 1, 0] # 1 = Spam, 0 = kein Spam

2. Train-/Test-Split

Xtrain, Xtest, ytrain, ytest = traintestsplit(

emails, labels, testsize=0.5, randomstate=42

)

3. Text -> Zahlen (Features)

vectorizer = CountVectorizer() # zählt Wörter

Xtrainvec = vectorizer.fittransform(Xtrain)

Xtestvec = vectorizer.transform(X_test)

4. Einfaches Modell wählen und trainieren

model = LogisticRegression()

model.fit(Xtrainvec, y_train)

5. Bewertung auf Testdaten

accuracy = model.score(Xtestvec, y_test)

print("Genauigkeit:", accuracy)

```

Was du dir merken solltest:

  • `CountVectorizer` macht aus Text Zahlentabellen (Features).
  • `model.fit(...)` ist das Training: Das Modell passt seine Parameter an die Trainingsdaten an.
  • `model.score(...)` ist eine einfache Bewertung (hier: Genauigkeit).

7. Training: Was passiert im Modell?

Beim Training passt das Modell seine Parameter so an, dass die Vorhersagen möglichst gut zu den Trainingsdaten passen.

Vereinfacht:

  1. Das Modell macht eine Vorhersage für jede Trainings‑E‑Mail (z. B. Spam‑Wahrscheinlichkeit).
  2. Es vergleicht die Vorhersage mit dem wahren Label (Spam oder nicht).
  3. Aus dem Unterschied berechnet es einen Fehler (Loss).
  4. Es ändert die Parameter schrittweise, um den Fehler zu verkleinern (z. B. mit Gradientenabstieg / gradient descent).

Du musst den mathematischen Hintergrund jetzt noch nicht im Detail verstehen. Wichtig ist:

  • Training = Anpassen von Parametern anhand von Daten
  • Ziel = Fehler auf den Trainingsdaten minimieren, ohne nur auswendig zu lernen

Das führt direkt zu einem zentralen Problem:

8. Validieren, Überanpassung (Overfitting) und Hyperparameter

Wenn ein Modell zu sehr die Trainingsdaten auswendig lernt, spricht man von Overfitting (Überanpassung).

Beispiel:

  • Das Modell merkt sich jede einzelne E‑Mail im Training.
  • Auf diesen E‑Mails ist die Genauigkeit 100 %.
  • Auf neuen E‑Mails (die es noch nie gesehen hat) ist die Genauigkeit aber schlecht.

Um das zu vermeiden, nutzt man Validierungsdaten:

  • Du trainierst dein Modell auf den Trainingsdaten.
  • Du prüfst die Leistung regelmäßig auf den Validierungsdaten.
  • Wenn die Leistung auf den Trainingsdaten weiter steigt, auf den Validierungsdaten aber schlechter wird → Overfitting.

Außerdem gibt es Hyperparameter:

  • Das sind Einstellungen, die du vor dem Training wählst, z. B.:
  • Tiefe eines Entscheidungsbaums
  • Lernrate bei neuronalen Netzen
  • Stärke der Regularisierung
  • Du passt Hyperparameter meist anhand der Validierungsleistung an (z. B. Grid‑Search, Random‑Search, heute oft auch Bayes‑Optimierung).

Merke dir den Ablauf:

  1. Modell wählen und trainieren.
  2. Auf Validierungsdaten prüfen, ggf. anpassen.
  3. Erst wenn du zufrieden bist, auf Testdaten bewerten.

9. Quiz: Train, Valid, Test richtig zuordnen

Ordne die drei Datensätze ihrer Hauptaufgabe zu.

Wofür sind **Testdaten** hauptsächlich da?

  1. Um während des Trainings die Hyperparameter zu optimieren.
  2. Um am Ende die echte Leistungsfähigkeit des fertigen Modells zu messen.
  3. Um das Modell zu zwingen, alle Beispiele auswendig zu lernen.
Show Answer

Answer: B) Um am Ende die echte Leistungsfähigkeit des fertigen Modells zu messen.

Testdaten werden **erst am Ende** verwendet, um die endgültige Leistung des Modells ehrlich zu bewerten. Hyperparameter werden typischerweise mit Validierungsdaten optimiert.

10. Testen und Bewerten des Modells

Wenn du mit Training und Validierung zufrieden bist, kommt der abschließende Test.

Du verwendest die Testdaten, die das Modell noch nie gesehen hat, und berechnest eine oder mehrere Metriken.

Für Klassifikation (z. B. Spam‑Erkennung) sind typische Metriken:

  • Accuracy (Genauigkeit): Anteil korrekt klassifizierter Beispiele
  • Precision (Präzision): Wie viele der als Spam erkannten E‑Mails sind wirklich Spam?
  • Recall (Sensitivität): Wie viele der tatsächlichen Spam‑E‑Mails wurden erkannt?

Für Regression (z. B. Preisvorhersage):

  • MSE (Mean Squared Error): mittlere quadratische Abweichung
  • MAE (Mean Absolute Error): mittlere absolute Abweichung

Im Spam‑Beispiel könnte ein Ergebnis sein:

  • Accuracy auf Testdaten: 96 %
  • Precision für Spam: 94 %
  • Recall für Spam: 92 %

Dann musst du fachlich bewerten:

  • Reicht diese Leistung für den Einsatz in der Praxis?
  • Was ist schlimmer: Spam, der nicht erkannt wird, oder normale E‑Mails, die fälschlich als Spam markiert werden?

In der Praxis (Stand 2026) spielen außerdem Aspekte wie Robustheit, Fairness und Transparenz zunehmend eine Rolle, insbesondere in sensiblen Bereichen (z. B. Kreditvergabe, Medizin).

11. Wichtige Begriffe wiederholen

Nutze die Karten, um die Kernbegriffe des ML‑Workflows zu wiederholen.

Klassifikation
Überwachtes Lernproblem, bei dem das Modell Beispiele in **diskrete Klassen** einordnet (z. B. Spam vs. kein Spam).
Regression
Überwachtes Lernproblem, bei dem das Modell **kontinuierliche Zahlenwerte** vorhersagt (z. B. Preis, Temperatur).
Preprocessing
Schritt der **Datenaufbereitung**: Daten aufräumen, fehlende Werte behandeln, Formate vereinheitlichen, Texte in Zahlen umwandeln.
Feature Engineering
Aus Rohdaten sinnvolle **Eingangsgrößen (Features)** erstellen, mit denen das Modell Muster besser erkennen kann.
Training
Anpassen der **Modellparameter** anhand der Trainingsdaten, um den Fehler (Loss) zu minimieren.
Validierungsdaten
Datensatz, der **nicht** zum Training genutzt wird, sondern zur Auswahl von Modellen und Hyperparametern und zur Erkennung von Overfitting.
Testdaten
Unabhängiger Datensatz, der **nur am Ende** verwendet wird, um die endgültige Leistung des Modells zu messen.
Overfitting
Das Modell hat die Trainingsdaten **zu genau auswendig gelernt** und generalisiert schlecht auf neue Daten.

12. Abschlussübung: Deinen eigenen Workflow skizzieren

Übertrage den gelernten Workflow auf ein eigenes Beispiel.

  1. Wähle ein Problem, das dich interessiert, z. B.:
  • Vorhersagen, ob ein Student einen Kurs besteht
  • Erkennen, ob ein Bild eine Katze zeigt
  • Schätzen, wie viele Besucher morgen in ein Museum kommen
  1. Beantworte für dein Beispiel (stichpunktartig):
  • Ist es Klassifikation oder Regression?
  • Welche Features könntest du verwenden?
  • Wie würdest du die Daten aufteilen (Train/Valid/Test)?
  • Welche Metrik wäre sinnvoll (Accuracy, MSE, …)?
  1. Ordne die Schritte in die richtige Reihenfolge (schreibe nur die Nummern auf):
  2. Modell trainieren
  3. Daten sammeln
  4. Problem formulieren
  5. Modell auf Testdaten bewerten
  6. Daten vorverarbeiten & Features erstellen
  7. Modell validieren und Hyperparameter anpassen

Lösung Reihenfolge (zum Selbstcheck): 3 → 2 → 5 → 1 → 6 → 4

Wenn du das sicher kannst, hast du den typischen ML‑Workflow verstanden.

Key Terms

Metrik
Kennzahl zur Bewertung der Modellleistung, z. B. Accuracy, Precision, Recall, MSE.
Training
Phase, in der das Modell seine Parameter anhand der Trainingsdaten anpasst, um den Fehler zu minimieren.
Testdaten
Unabhängiger Datensatz, der nur zur endgültigen Bewertung des trainierten Modells verwendet wird.
Regression
Überwachtes Lernproblem, bei dem kontinuierliche Zahlenwerte vorhergesagt werden (z. B. Preis, Temperatur).
Overfitting
Überanpassung: Das Modell passt sich zu stark an die Trainingsdaten an und generalisiert schlecht auf neue Daten.
Preprocessing
Datenaufbereitung: Aufräumen und Vereinheitlichen von Rohdaten, z. B. fehlende Werte behandeln, Formate anpassen.
Hyperparameter
Einstellungen eines Modells (z. B. Baumtiefe, Lernrate), die nicht direkt aus den Daten gelernt, sondern von außen gewählt werden.
Klassifikation
Überwachtes Lernproblem, bei dem Beispiele in diskrete Klassen eingeteilt werden (z. B. Spam vs. kein Spam).
Validierungsdaten
Teil des Datensatzes, der nicht zum Training genutzt wird, sondern zur Modell- und Hyperparameterwahl.
Feature Engineering
Prozess, aus Rohdaten aussagekräftige Eingangsgrößen (Features) zu konstruieren, die ein Modell nutzen kann.