Vier Verfahren, ein Problem: Ein Foto von einem Pflanzenblatt kommt rein — und der Computer soll sagen, welche Pflanze das ist und ob sie krank ist. Random Forest, SVM, CNN und Logistic Regression lösen genau diese Aufgabe, nur auf sehr unterschiedlichen Wegen. Dieses Thema nimmt alle vier auseinander.
Klassifikation heißt: Aus einem Input (Bild) genau eine von k vorher festgelegten Klassen machen. Kein Freitext, keine Box um das Blatt — nur ein Label.
Das Dataset: PlantVillage
Alle Lektionen nutzen das PlantVillage-Dataset auf Kaggle: rund 54.000 Fotos von Pflanzenblättern, verteilt auf 38 Klassen aus 14 Nutzpflanzen — von Apple___healthy bis Tomato___Late_blight. Jede Klasse ist eine Kombination aus Pflanze und Zustand.
Die Ordnerstruktur ist gleichzeitig das Labeling: Ordnername = Klasse. Das ist der Standard für Bild-Datasets und macht das Einlesen in Python angenehm einfach.
Die vier Verfahren im Schnelldurchlauf
📈 Logistic Regression
Gewichtete Summe der Features, durch eine Sigmoid/Softmax gedrückt. Linear, schnell, die ehrlichste Baseline.
🛣️ SVM
Sucht nicht irgendeine Trennlinie, sondern die mit dem größten Sicherheitsabstand. Mit Kernel-Trick auch nicht-linear.
🌲 Random Forest
Hunderte Entscheidungsbäume, jeder auf zufälligen Daten- und Feature-Ausschnitten — die Mehrheit entscheidet.
👁️ CNN
Lernt seine Bild-Features selbst, statt sie vorgesetzt zu bekommen. State of the Art für Bilder — und am teuersten.
Ein wichtiger Unterschied zieht sich durch das ganze Thema: Die drei klassischen Verfahren (LogReg, SVM, RF) arbeiten auf Feature-Vektoren, die wir vorher aus den Bildern extrahieren müssen. Das CNN frisst die Pixel direkt und lernt die Features mit.
🤔Warum eigentlich? — Warum lernen wir vier Verfahren statt nur das beste?›
Weil „das beste“ vom Kontext abhängt. Ein CNN gewinnt bei Rohbildern fast immer in der Accuracy — braucht aber GPU, viele Daten und Trainingszeit, und seine Entscheidungen sind schwer zu erklären. Eine Logistic Regression auf guten Features trainiert in Sekunden, ist interpretierbar und reicht für viele Probleme. Wer nur ein Verfahren kennt, kann diese Abwägung nicht treffen — und genau diese Abwägung ist der Kern von angewandtem ML.
⚠️Häufiger Denkfehler — Klassifikation mit Detektion verwechseln›
Klassifikation beantwortet nur „was ist auf dem Bild?“ — genau ein Label pro Bild. Sie sagt nicht, wo das Blatt ist (das wäre Object Detection) und kann nicht mit zwei Blättern verschiedener Pflanzen auf einem Foto umgehen. PlantVillage umgeht das durch die Aufnahme-Bedingungen: ein Blatt pro Bild, zentriert, neutraler Hintergrund. Genau das wird uns in der Transfer-Learning-Lektion als Generalisierungs-Problem wieder einholen.
🔬Tiefer rein — Die 38 Klassen sind nicht gleich groß›
Die Klassen sind unbalanciert: Orange___Haunglongbing hat über 5.500 Bilder, Potato___healthy nur etwa 150. Das hat Konsequenzen für alles, was kommt: Ein Modell, das einfach häufige Klassen rät, bekommt schon ordentliche Accuracy geschenkt. Deshalb brauchen wir die Metriken-Lektion, stratifizierte Splits und class_weight-Parameter — alles Werkzeuge gegen genau dieses Ungleichgewicht.
🔗Hängt zusammen mit… — Hängt zusammen mit…›
Der ML-Pipeline (nächste Lektion — wie die Daten sauber durchs System fließen), der Feature-Extraktion (wie aus 256×256×3 Pixeln ein handlicher Vektor wird) und den Metriken (woran wir alle vier Verfahren am Ende messen).