Machine Learning von Grund auf · Portfolio-Projekt · 40 Min.
Projekt A: Screening
Kurz gesagt
Dein erstes Portfolio-Projekt: Modell und Schwelle für ein Screening wählen, bei dem ein übersehener Fall 10 Fehlalarme kostet. Prüfung am verdeckten Test.
Die Aufgabe
Du baust ein erstes Sieb: Ein Modell bewertet eine Biopsie und entscheidet, wer weiter untersucht wird. Ein übersehener bösartiger Tumor (FN) kostet so viel wie 10 Fehlalarme (FP).
- Wähle ein Modell (logistische Regression, Entscheidungsbaum oder kNN) und seine eine Einstellung.
- Wähle eine Schwelle: ab welchem Wert das Modell „zur Biopsie“ sagt.
- Schreib einen Satz Begründung: warum dieses Modell und diese Schwelle.
Alles wählst du anhand der Validierung. Der verdeckte Test prüft deine Wahl am Ende, so wie neue Patientinnen und Patienten ein Modell nach dem Einsatz prüfen.
Daten und Aufteilung
Breast Cancer Wisconsin (Diagnostic), UCI Machine Learning Repository, Lizenz CC BY 4.0: 569 Biopsien, davon 212 bösartig. Das Modell sieht die 10 „mean“-Messungen der Zellkerne aus dem Biopsiebild (Radius, Textur, Konkavität usw.). UCI
- Lernen: 427 Biopsien (159 bösartig). Kreuzvalidierung in 5 Teilen: Jeder Teil ist einmal die Validierung, das Modell lernt auf den anderen. Daraus kommen die CV-Kosten.
- Verdeckter Test: 142 Biopsien (53 bösartig), einmal zufällig beiseitegelegt, mit gleichen Klassenanteilen (Seed 1). Das Modell lernt auf allen 427 und bewertet erst dann den Test.
„Verdeckt“ heißt hier „auf der Seite nicht gezeigt“, nicht gesichert. Der Code der Seite ist öffentlich, jeder kann ihn lesen. Dein Browser zählt die Einreichungen, also setzt das Löschen der Website-Daten das Limit zurück. Das ist eine Übung in Disziplin, keine Prüfung.
Wie du bestehst
Die Kosten zählen wir pro 100 Personen: (10 × übersehene + Fehlalarme) × 100 / Zahl der Personen. Das Bestehen wird automatisch geprüft, nach zwei Regeln:
- die Kosten auf dem verdeckten Test sind niedriger als die beider einfacher Regeln: „alle zur Biopsie“ (62,7 pro 100 Personen auf dem Test) und „niemand zur Biopsie“ (373,2);
- nur die erste Einreichung zählt. Du hast 3 Einreichungen, aber die weiteren sind „nachträglich“: Sie zeigen die Testkosten und ändern das Ergebnis nicht.
Warum diese Regel. Das Werkzeug berechnet die CV-Kosten selbst, also lässt sich die Validierung nicht austricksen. Austricksen lässt sich dagegen der Test: senden, Ergebnis sehen, nachbessern. Deshalb zählt nur die erste Einreichung.
Auf dem verdeckten Test (142 Biopsien) kostet ein einziger übersehener Fall 7,0 pro 100 Personen, deshalb springt das Testergebnis. Vor dem Senden zeigt das Werkzeug den üblichen Bereich: von CV − 25 bis CV + 25. So weit streute der Test um die CV bei den Beispiellösungen aus den Lektionen auf 200 anderen zufälligen Aufteilungen (95 % der Fälle). Beispiel: Logistische Regression mit Schwelle 0,30 hat CV 18,7 und Test 48,6, außerhalb des Bereichs. Das ist Pech der Aufteilung, kein Fehler, und die Wahl besteht trotzdem, weil sie billiger ist als beide Regeln.
Die Beispiellösungen bestehen auf mindestens 98 % dieser 200 Aufteilungen. Es gibt keine Rangliste: Dein Ergebnis siehst nur du.
Deine Wahl
Das Werkzeug läuft im Browser mit eingeschaltetem JavaScript. Ohne JavaScript machst du das Projekt im Notebook unten.
Abschlusskarte
Nach dem Bestehen kannst du eine Karte herunterladen (PNG). Deinen Namen tippst du auf dieser Seite ein, die Karte entsteht in deinem Browser, und der Name gelangt weder in die Adresse der Seite noch auf einen Server. „Auf LinkedIn teilen“ übergibt nur die Adresse dieser Seite.
Für Programmierende: das Notebook
Das Notebook macht dasselbe in scikit-learn: derselbe Datensatz, dieselben 142 Zeilen des verdeckten Tests (als Zeilennummern angegeben), Kreuzvalidierung in 5 Teilen, Kosten pro 100 Personen, der übliche Bereich um die CV und die Regel zum Bestehen. Führe die Testzelle einmal aus, nachdem du gewählt hast: Es zählt der erste Lauf. Baum und kNN können dort in einzelnen Fällen von der Seite abweichen, weil scikit-learn Gleichstände anders auflöst.
Notebook herunterladen (.ipynb)
README-Vorlage für GitHub
Ein aus einem Tutorial kopiertes Notebook sagt wenig über dich. Ein README mit deinen eigenen Entscheidungen und Grenzen sagt mehr. Kopiere die Vorlage und fülle jeden Abschnitt mit eigenen Worten.
Vorlage zeigen
# Screening: ein Modell und eine Schwelle nach den Kosten der Fehler
Projekt A des ML-Atlas-Kurses: https://mlatlas.org/de/kurs/ml/projekt-a/
## Problem
Wer soll zur Biopsie? Einen bösartigen Tumor zu übersehen kostet so viel wie 10 Fehlalarme. <Mit eigenen Worten: wer das Modell nutzt und was nach seiner Entscheidung passiert.>
## Daten und Lizenz
Breast Cancer Wisconsin (Diagnostic), UCI Machine Learning Repository, CC BY 4.0, https://doi.org/10.24432/C5DW2B. 569 Biopsien, 212 bösartig, 10 „mean“-Messungen.
## Validierung
<Wie du die Daten aufgeteilt hast, wie viele Teile die Kreuzvalidierung hat, wie oft du den verdeckten Test angesehen hast.>
## Ergebnis ± Streuung
<Modell, Einstellung, Schwelle. CV-Kosten pro 100 Personen und ihre Streuung über die Teile; Testkosten.>
## Baseline
<Die Kosten von „alle zur Biopsie“ und „niemand“ auf denselben Daten.>
## Was das Modell nicht kann
<Grenzen: wie viele Daten es gibt, woher sie kommen, was sich bei anderen Fehlerpreisen ändert.>
## Nächste Schritte
<Was du als Nächstes prüfen würdest und warum.>