Lektion 1 von 9
Was Machine Learning ist und wann es sich lohnt
Du unterscheidest Klassifikation, Regression und Clustering, formulierst ein Problem mit Label, Merkmalen und Erfolgskriterium und prüfst mit einer Baseline, ob sich ML überhaupt lohnt.
Worum es geht
Leandro ist im 2. Lehrjahr als Informatiker Plattformentwicklung bei der Mobilia Versicherungen AG in Solothurn. Jeden Tag treffen rund 600 Schadenmeldungen über das Online-Formular ein. Ein Team liest jede Meldung und schiebt sie an die richtige Abteilung: Fahrzeug, Hausrat oder Haftpflicht. Pro Meldung dauert das etwa 30 Sekunden, also rund 300 Minuten pro Tag. Die Teamleiterin fragt: «Kann das nicht eine KI machen?»
Genau hier beginnt dein Modul. Bevor Leandro eine einzige Zeile Code schreibt, muss er drei Fragen beantworten:
- Welche Art von Problem ist das überhaupt?
- Gibt es genügend Beispiele, aus denen ein Modell lernen kann?
- Wäre eine einfache Regel nicht schon gut genug?
In dieser Lektion lernst du, was Machine Learning (ML) wirklich ist, welche drei Grundtypen von Aufgaben es gibt und wie du ehrlich prüfst, ob sich ML für ein Problem lohnt. Das klingt nach Theorie, doch genau hier scheitern in der Praxis viele Projekte: nicht am Algorithmus, sondern weil niemand klar festgelegt hat, was vorhergesagt wird und woran man Erfolg misst.
Regeln schreiben oder Regeln lernen lassen
Im klassischen Programmieren schreibst du die Regeln selbst. Du kennst das aus Modul 122: if betrag > 10000: zweite_visierung(). Das Programm bekommt Daten, wendet deine Regeln an und liefert Antworten.
Beim Machine Learning drehst du das um. Du gibst dem Programm viele Beispiele mit der richtigen Antwort, und ein Lernverfahren sucht selbst nach Regeln, die von den Daten zur Antwort führen. Das Ergebnis heisst Modell. Mit diesem Modell kannst du danach für neue Daten eine Antwort vorhersagen.
Eine Alltagsanalogie: Eine neue Mitarbeiterin im Schadenteam lernt die Zuteilung nicht aus einem 50-seitigen Regelwerk. Ihre Kollegin zeigt ihr zwei Wochen lang Meldungen und sagt jeweils, wohin sie gehören. Irgendwann erkennt sie die Muster selbst, auch bei Formulierungen, die sie noch nie gesehen hat. Genau so arbeitet ein Modell, nur mit 18'000 Beispielen statt mit ein paar Hundert.
Die wichtigsten Begriffe am Beispiel von Mobilia:
| Begriff | Bedeutung | Beispiel Mobilia |
|---|---|---|
| Feature (Merkmal) | Eingabe, aus der das Modell lernt | Beschreibungstext, Sprache, Eingangskanal |
| Label (Zielgrösse) | Die richtige Antwort in den Trainingsdaten | Abteilung: Fahrzeug, Hausrat oder Haftpflicht |
| Training | Das Modell sucht Muster in Beispielen mit Label | 18'000 bereits zugeteilte Meldungen |
| Vorhersage | Das Modell liefert für neue Daten eine Antwort | Neue Meldung: «Hausrat, Sicherheit 87 %» |
| Modell | Das Ergebnis des Trainings, eine Funktion von Features zu Label | Datei schaden-classifier-1.0.joblib |
Die drei Grundtypen von ML-Aufgaben
Fast jede Aufgabe, der du im Betrieb begegnest, lässt sich einem von drei Grundtypen zuordnen. Die entscheidende Frage lautet: Was soll am Schluss herauskommen?
Klassifikation: Das Modell sagt eine Kategorie voraus. Bei Mobilia ist es eine von drei Abteilungen. Gibt es nur zwei Kategorien (Betrug ja oder nein, kündigt oder bleibt), spricht man von binärer Klassifikation.
Regression: Das Modell sagt eine Zahl auf einer durchgehenden Skala voraus, zum Beispiel einen Mietpreis in CHF, die Anzahl Velo-Ausleihen von morgen oder den Stromverbrauch eines Gebäudes.
Clustering: Es gibt keine vorgegebene richtige Antwort. Das Verfahren sucht selbst Gruppen von ähnlichen Datenpunkten, zum Beispiel Kundensegmente nach Einkaufsverhalten. Danach muss ein Mensch interpretieren, was die Gruppen bedeuten.
Klassifikation und Regression gehören zum überwachten Lernen (supervised learning): Die Trainingsdaten enthalten ein Label, das «überwacht», ob das Modell richtig liegt. Clustering gehört zum unüberwachten Lernen (unsupervised learning), weil es kein Label gibt.
| Situation im Betrieb | Typ | Label |
|---|---|---|
| Support-Tickets den Teams Technik, Rechnung, Vertrag zuweisen | Klassifikation (3 Klassen) | Team |
| Erkennen, ob eine Online-Bestellung betrügerisch ist | binäre Klassifikation | Betrug ja/nein |
| Mietpreis einer Wohnung in Luzern schätzen | Regression | Miete in CHF |
| Anzahl Velo-Ausleihen pro Tag vorhersagen | Regression | Anzahl Ausleihen |
| Kundinnen eines Onlineshops in Gruppen einteilen | Clustering | keines |
Zwei Stolperfallen tauchen in Prüfungen immer wieder auf:
- «Das Modell gibt eine Wahrscheinlichkeit aus, also ist es Regression.» Falsch. Wenn das Ziel «kündigt oder bleibt» ist, bleibt es eine Klassifikation, auch wenn das Modell zusätzlich angibt, wie sicher es ist (z.B. 0.82 für «kündigt»).
- «Das Label ist eine Zahl, also ist es Regression.» Nicht unbedingt. Eine Postleitzahl oder eine Produktnummer ist eine Zahl, aber eine Kategorie. Frag dich: Ist 3000 «mehr» als 2500 in einem sinnvollen Sinn? Bei Postleitzahlen nicht.
Ordne jede Aufgabe aus dem Betrieb dem passenden ML-Aufgabentyp zu.
Eine Fitnesskette möchte für jedes Mitglied vorhersagen, mit welcher Wahrscheinlichkeit es im nächsten Quartal kündigt (zum Beispiel 0.82). Um welche Art von Aufgabe handelt es sich?
Braucht es dafür überhaupt ML?
ML ist kein Selbstzweck. Ein Modell muss trainiert, geprüft, betrieben, überwacht und regelmässig neu trainiert werden. Prüfe deshalb vor dem Start:
- Gibt es ein Muster? Wenn ein Mensch mit Erfahrung die Antwort aus den Daten ableiten kann, gibt es meistens ein lernbares Muster. Lottozahlen kann kein Modell vorhersagen.
- Gibt es genügend Beispiele mit Label? Für eine Textklassifikation mit drei Klassen sind ein paar Tausend Beispiele ein guter Start. 50 Beispiele reichen nicht.
- Ist eine einfache Regel zu schwach? Wenn eine feste Regel das Problem löst (Rechnungen über CHF 10'000 brauchen eine zweite Visierung), schreibst du die Regel. Sie ist einfacher, billiger und nachvollziehbarer.
- Kann man mit Fehlern leben? Jedes Modell macht Fehler. Gibt es einen Plan für unsichere Fälle, zum Beispiel eine manuelle Prüfung?
- Ist der Erfolg messbar? Ohne messbares Ziel weisst du nie, ob das Projekt gelungen ist.
Für Punkt 3 brauchst du eine Baseline: die einfachste sinnvolle Vorhersage, mit der jedes Modell verglichen wird. Typische Baselines sind:
| Aufgabe | Baseline |
|---|---|
| Klassifikation | Immer die häufigste Klasse vorhersagen (Mehrheitsklasse) |
| Klassifikation mit Text | Eine Stichwortregel («Auto» oder «Parkplatz» heisst Fahrzeug) |
| Regression | Immer den Mittelwert oder Median vorhersagen, eventuell pro Gruppe |
Ein Modell ist nur dann gut, wenn es die Baseline deutlich schlägt. 92 % Trefferquote klingt toll, ist aber wertlos, wenn eine Stichwortregel schon 91 % schafft.
In welchen Situationen ist ein ML-Modell wahrscheinlich sinnvoller als eine fest programmierte Regel? (Mehrere Antworten)
Wähle alle zutreffenden Antworten.
Schritt für Schritt: Leandro formuliert das Problem
Leandro geht die Prüfliste mit der Teamleiterin durch und hält das Ergebnis schriftlich fest.
Schritt 1: Zielgrösse festlegen. Vorhergesagt wird die Abteilung. Es gibt drei Klassen: Fahrzeug, Hausrat, Haftpflicht. Also eine Klassifikation mit drei Klassen.
Schritt 2: Merkmale bestimmen. Verfügbar ist nur, was im Moment des Eingangs bekannt ist: Beschreibungstext, Sprache der Meldung, Eingangskanal (Web oder App) und Schadendatum. Die Spalte «Sachbearbeiter» gibt es zwar in der Datenbank, aber sie wird erst nach der Zuteilung ausgefüllt. Sie darf deshalb kein Merkmal sein.
Schritt 3: Datenlage prüfen. Aus den letzten zwei Jahren gibt es 18'000 Meldungen, die von Hand zugeteilt wurden. Das sind die Beispiele mit Label.
Schritt 4: Baselines berechnen. Leandro zählt die Klassen mit pandas:
import pandas as pd
df = pd.read_csv("schadenmeldungen.csv")
print(df["abteilung"].value_counts())
print(df["abteilung"].value_counts(normalize=True).round(2))abteilung
Fahrzeug 7920
Hausrat 6300
Haftpflicht 3780
Name: count, dtype: int64
abteilung
Fahrzeug 0.44
Hausrat 0.35
Haftpflicht 0.21
Name: proportion, dtype: float64Die Mehrheitsklassen-Baseline («immer Fahrzeug») trifft also 44 % der Fälle. Danach testet er eine Stichwortregel:
def stichwortregel(text):
"""Einfache Baseline: teilt anhand weniger Stichwörter zu."""
t = text.lower()
if any(w in t for w in ["auto", "fahrzeug", "parkplatz", "kollision"]):
return "Fahrzeug"
if any(w in t for w in ["nachbar", "beschädigt", "fremd", "verletzt"]):
return "Haftpflicht"
return "Hausrat" # Rest: häufigste Klasse unter den übrigen Meldungen
df["regel"] = df["beschreibung"].apply(stichwortregel)
trefferquote = (df["regel"] == df["abteilung"]).mean()
print(f"Stichwortregel: {trefferquote:.0%}") # Stichwortregel: 71%Die Regel schafft 71 %. Warum nicht mehr? Weil Wörter mehrdeutig sind. «Wasser aus meiner Waschmaschine ist in die Wohnung unter mir gelaufen» ist ein Haftpflichtfall, «Wasserschaden in meiner Wohnung» ein Hausratfall. Eine Regel, die nur auf «Wasser» schaut, liegt bei einem der beiden falsch.
Schritt 5: Erfolgskriterium festlegen. Mit der Teamleiterin vereinbart Leandro: Das Modell muss auf neuen Daten mindestens 90 % korrekt zuteilen. Meldungen, bei denen sich das Modell unsicher ist, gehen weiterhin an einen Menschen.
Schritt 6: Nutzen abschätzen. Heute kostet die Zuteilung 600 × 30 Sekunden = 300 Minuten pro Tag. Wenn das Modell 80 % der Meldungen sicher zuteilt, bleiben 120 Meldungen für die Handarbeit, also 60 Minuten. Das spart rund 4 Stunden pro Tag.
Das Ergebnis passt auf eine A5-Seite:
| Punkt | Festlegung |
|---|---|
| Aufgabe | Klassifikation, 3 Klassen |
| Label | Abteilung |
| Merkmale | Beschreibung, Sprache, Kanal, Schadendatum |
| Daten | 18'000 zugeteilte Meldungen aus 24 Monaten |
| Baselines | Mehrheitsklasse 44 %, Stichwortregel 71 % |
| Erfolg | mindestens 90 % korrekt auf neuen Daten, unsichere Fälle von Hand |
Jetzt bist du dran: Programmiere die Mehrheitsklassen-Baseline selbst, ganz ohne Bibliotheken.
Code-Labor: Die Mehrheitsklassen-Baseline
Bevor Leandro ein Modell trainiert, braucht er eine Baseline. Schreibe drei Funktionen, ganz ohne Bibliotheken:
accuracy(echt, vorhergesagt)liefert den Anteil der Positionen, an denen beide Listen übereinstimmen (0.0 bis 1.0).mehrheitsklasse(labels)liefert das häufigste Label. Bei Gleichstand gewinnt das alphabetisch erste Label, damit das Ergebnis immer gleich ist.baseline_accuracy(y_train, y_test)bestimmt die Mehrheitsklasse aus den Trainingsdaten, sagt sie für jede Testmeldung voraus und liefert die Accuracy auf den Testdaten.
Typische Fehler
- Sofort ein Modell trainieren. Wer ohne Baseline startet, kann nicht beurteilen, ob 85 % gut oder schlecht sind. Berechne immer zuerst die Mehrheitsklasse oder den Mittelwert und eine einfache Regel.
- Wahrscheinlichkeit mit Regression verwechseln. «Kündigt mit 82 % Wahrscheinlichkeit» ist eine Klassifikation mit Konfidenzangabe. Regression liegt nur vor, wenn das Ziel selbst eine Zahl auf einer Skala ist.
- Merkmale verwenden, die es im Moment der Vorhersage noch nicht gibt. Die Spalte «Sachbearbeiter» verrät die Abteilung, wird aber erst nach der Zuteilung gesetzt. Ein Modell damit wäre im Test perfekt und im Betrieb nutzlos.
- Kein messbares Erfolgskriterium. «Das Modell soll gut sein» ist kein Ziel. «Mindestens 90 % korrekt auf den Meldungen der letzten drei Monate» schon.
- ML für Probleme mit klarer Regel. Wenn das Gesetz oder ein Reglement die Entscheidung eindeutig vorgibt, ist eine programmierte Regel besser: billiger, nachvollziehbar und ohne Trainingsdaten.
Zusammenfassung
- Beim Machine Learning lernt ein Verfahren aus Beispielen mit bekannter Antwort (Label) ein Modell, das für neue Daten Vorhersagen macht.
- Klassifikation sagt eine Kategorie voraus, Regression eine Zahl auf einer Skala, Clustering findet Gruppen ohne vorgegebene Antwort.
- Klassifikation und Regression sind überwachtes, Clustering ist unüberwachtes Lernen.
- Vor jedem Modell steht eine Baseline: Mehrheitsklasse, Mittelwert oder eine einfache Regel.
- Eine gute Problembeschreibung nennt Label, Merkmale, Datenlage, Baseline und ein messbares Erfolgskriterium.
- Merkmale müssen im Moment der Vorhersage verfügbar sein.
- ML lohnt sich nur, wenn es ein Muster, genügend Daten und einen klaren Vorteil gegenüber einer einfachen Regel gibt.
Mit deiner eigenen KI vertiefen
Kopiere einen Prompt in Claude, ChatGPT oder Claude Code. Er macht die KI zur Lernbegleitung statt zum Lösungsautomaten.
Probleme sicher einordnen Chat-KI
Wenn du Klassifikation, Regression und Clustering noch verwechselst oder unsicher bist, welche Baseline passt. Die KI übt mit dir an Situationen aus Schweizer Betrieben.