Handgeschriebene Ziffern
Teil des Abschnitts Überwachtes Lernen der Machine Learning-Journey von Coddy. Lektion 57 von 58.
Die Sortiermaschine eines Postamts liest handschriftliche Postleitzahlenziffern aus den 8-mal-8-Scans, die du in „Digits at a Glance“ kennengelernt hast, load_digits:
Zwei Kandidaten wollen den Job: k-NN mit dem von einem Ingenieur vorgeschlagenen k und ein Random Forest mit 100 Bäumen.
Diesmal sind die Fehler wichtig. Das Büro braucht den faireren Gewinner, seine Bewertung auf ungesehenen Scans und seine häufigste Verwechslung, also gehen diese Ziffern an eine Person.
Aufgabe
SchwerDas Programm liest das k des Entwicklers ein; der Startcode richtet ein Diagramm mit Titel ein.
- Teile ein stratifiziertes Testviertel ab,
random_state=0. - Führe mit diesem
kund einem Wald aus 100 Bäumen (random_state=0) eine 5-fache Kreuzvalidierung auf den Trainingszeilen durch. Gib jeden Mittelwert (3 Dezimalstellen) und das Gewinner-Modell aus. - Trainiere das Gewinner-Modell und gib seine Testgenauigkeit aus.
- Gib den größten Fehler in der Test-Konfusionsmatrix aus, zeichne dann die Matrix auf
axund zeige sie an.
Auf einem anderen Rechner und mit 3:
k-NN: CV accuracy 0.979
Random forest: CV accuracy 0.968
Winner: k-NN
Test accuracy: 0.976
Most confused: 7 read as 2 (3 times)Danach zeigt Coddy deine Matrix an.
Probier es selbst
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.neighbors import KNeighborsClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay
digits = load_digits()
X = digits.data
y = digits.target
k = int(input())
fig, ax = plt.subplots()
ax.set_title("Test Digits")
# Schreibe deinen Code unten
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Überwachtes Lernen
1Dein erstes Modell
Aus Beispielen lernenTrainings- und TestdatensätzeAnpassen und VorhersagenEin Modell bewertenRückblick: Saatgutsortierer4Logistische Regression
Ja-Nein-VorhersagenDie EntscheidungsschwelleGewichte als IndizienMehrere KlassenRückblick: Spamfilter2Nächste Nachbarn
So entscheidet k-NNk wählenEntscheidungsgrenzenSkalierung für NachbarnRückblick: Wein-Nachbarn5Klassifikatoren bewerten
Die KonfusionsmatrixPräzision und TrefferquoteDer F1-ScoreUnausgewogene KlassenROC-KurvenRückblick: Screeningtest3Lineare Regression
Zahlen vorhersagenMehrere MerkmaleFehler messenResiduenplotsZusammenfassung: Fahrradverleih6Entscheidungsbäume
Bäume stellen FragenEinen Baum lesenBaumtiefeMerkmalswichtigkeitRückblick: Kreditentscheidungen9Ensembleverfahren
Random ForestsWarum Random Forests funktionierenGradient BoostingRückblick: Förster des Waldes12Abschließende Herausforderungen
Diabetes-FortschrittKreditgenehmigungHandgeschriebene ZiffernKundenabwanderungÜbe selbstständig: Online-Python-Compiler