Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Wie ein Computer aus Beispielen lernt

Nach dieser Lektion: Ich kann erklären, wie ein Computer aus Beispielen lernt.

Lektion, 45 Min.2 BefehleJupyterLab-Lab für Data Science: pandas, Matplotlib und scikit-learn im Browser

Der Computer sagt: heute ist viel los

Eine App sagt dir morgens, ob heute viel los sein wird. Niemand hat ihr eine Regel dafür geschrieben.

Sie hat aus vielen Beispielen gelernt. Das nennt man maschinelles Lernen. Heute baust du das einfachste Verfahren dafür nach, die k nächsten Nachbarn.

Am Ende dieser Lektion

Notiz

Ich kann erklären, wie ein Computer aus Beispielen lernt.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
Maschinelles Lernenein Computer findet Regeln selbst aus Beispielen
Trainingsdatendie Beispiele, aus denen der Computer lernt
Testdatenzurückgehaltene Beispiele zum Prüfen
k nächste Nachbarnein Verfahren, das sich an den k ähnlichsten Beispielen orientiertk = 5
Verzerrungeine Schieflage in den Daten, die das Ergebnis schief macht

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Was heißt: ein Computer lernt?

Beim normalen Programmieren schreibst du die Regel. Beim maschinellen Lernen gibst du Beispiele mit bekannter Antwort, und der Computer leitet die Regel selbst ab.

Die Beispiele heißen Trainingsdaten. Danach prüfst du ihn an Testdaten, die er nie gesehen hat. Besteht er, darf er neue Fälle beurteilen.

Wie arbeiten die k nächsten Nachbarn?

Der Computer sucht für einen neuen Tag die k ähnlichsten Tage aus den Trainingsdaten. Ähnlich heißt: ähnliche Temperatur und ähnlicher Regen.

Dann stimmen diese k Nachbarn ab. Waren die meisten von ihnen Tage mit viel Betrieb, sagt der Computer auch für den neuen Tag viel Betrieb voraus.

Beispiel: drei Nachbarn stimmen ab

NachbarTemperaturRegen in mmEr war ein Tag mit
Tag A190viel Betrieb
Tag B210viel Betrieb
Tag C174wenig Betrieb
Ergebnis bei k = 3Zwei gegen eins: viel Betrieb

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Bevor du anfängst

Notiz

Drück oben in der Leiste auf Lab starten und warte, bis JupyterLab läuft. Die Befehle tippst du im Terminal neben dem Lab. Die Skripte drucken englische Wörter. busy heißt viel los (mindestens 300 Leihen am Tag), quiet heißt ruhig, accuracy heißt Trefferquote.

Ein Modell lernt volle Tage zu erkennen

Befehl
docker exec jupyter python3 steps/knn.py

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Beispiel: was knn.py druckt

Zeile der AusgabeBedeutungWert
busy days in the yearTage mit viel Betrieb131 von 365
accuracyAnteil richtiger Vorhersagen an den Testtagen0,815
always saying quietTrefferquote, wenn man immer „ruhig“ rät0,641
Die Tabelle aus ZahlenZeilen: Wahrheit, Spalten: Vorhersage (busy, quiet)23 und 10, 7 und 52

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Wie groß soll k sein?

Mit k gleich 1 schaut der Computer nur auf einen Nachbarn. Er lernt dann sogar den Zufall der Trainingsdaten auswendig. Das nennt man Überanpassung.

Bei sehr großem k stimmen so viele Tage ab, dass jede Besonderheit untergeht. Ein mittleres k ist meist am besten. Das Skript knnk.py probiert sechs Werte aus.

Sechs Werte für k nebeneinander prüfen

Befehl
docker exec jupyter python3 steps/knnk.py

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Beispiel: was knnk.py druckt

kTrefferquote an den LerntagenTrefferquote an den Testtagen
10,9630,728
50,8830,815
450,8320,826
1350,8210,826

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Ein häufiger Fehler

Warnung

Viele denken, ein Modell mit fast hundert Prozent Treffern an den Lerntagen sei das beste. Bei k gleich 1 sind es 0,963, an neuen Tagen aber nur 0,728. Es hat die Beispiele auswendig gelernt. Wähle das Modell, das an den Testtagen gut ist.

Warum können Modelle unfair sein?

Ein Modell kennt nur seine Beispiele. Stammen sie nur aus einem Jahr oder nur von einer Gruppe von Menschen, gilt das Gelernte auch nur dafür. Diese Schieflage heißt Verzerrung.

Hier gibt es nur Tage eines einzigen Jahres. Ein sehr heißer Sommer wäre dem Modell fremd. Frag bei jedem Modell: Wessen Daten fehlen?

Weiterführend: Gruppen ohne Namen finden

Das Skript kmeans.py lernt ohne Antworten: Es teilt die Tage selbst in drei Gruppen. Drück auf Terminal öffnen und tipp docker exec jupyter python3 steps/kmeans.py.

Es druckt je Gruppe die mittlere Temperatur, die mittleren Leihen und die Zahl der Tage. Gib jeder Gruppe einen Namen, der zu ihren Zahlen passt.

Über dieses Lab und seinen Quellcode: JupyterLab-Lab für Data Science: pandas, Matplotlib und scikit-learn im Browser

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.