Cifre scritte a mano
Fa parte della sezione Apprendimento supervisionato del percorso Machine Learning di Coddy. Lezione 57 di 58.
La macchina di smistamento di un ufficio postale legge le cifre scritte a mano dei codici postali dalle scansioni 8 per 8 che hai incontrato in Cifre a colpo d'occhio, load_digits:
Due candidati vogliono il lavoro: k-NN, con il valore di k suggerito da un ingegnere, e una foresta casuale di 100 alberi.
Questa volta gli errori contano. L'ufficio ha bisogno del vincitore più equo, del suo punteggio su scansioni mai viste e della confusione più comune, quindi quelle cifre vengono consegnate a una persona.
Sfida
DifficileIl programma legge il valore k dell’ingegnere; il codice iniziale prepara un grafico con titolo.
- Separa un quarto stratificato per il test,
random_state=0. - Esegui la convalida incrociata di k-NN con quel valore di
ke una foresta di 100 alberi (random_state=0), con 5 fold, sulle righe di training. Stampa ciascuna media (3 decimali) e il vincitore. - Allena il vincitore e stampa la sua accuratezza sul test.
- Stampa l’errore più grande nella matrice di confusione del test, poi disegna la matrice su
axe visualizzala.
Per un’altra macchina e 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)Poi Coddy mostra la tua matrice.
Provalo tu
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")
# Scrivi il tuo codice qui sotto
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Apprendimento supervisionato
1Il tuo primo modello
Imparare dagli esempiInsiemi di addestramento e testAdattare e prevedereValutare un modelloRiepilogo: Ordinatore di semi4Regressione logistica
Previsioni sì o noLa soglia decisionaleI pesi come evidenzePiù classiRiepilogo: filtro antispam2Vicini più prossimi
Come decide k-NNScegliere kConfini decisionaliNormalizzare le scale per i viciniRiepilogo: vicini del vino5Misurare i classificatori
La matrice di confusionePrecisione e richiamoIl punteggio F1Classi sbilanciateCurve ROCRiepilogo: test di screening8Convalida incrociata
Validazione K-foldConfronto equo tra modelliRicerca a grigliaRiepilogo: riparazioni di skateboard11Progetto: specie di pinguini
Incontra i pinguiniPrepara i datiScegli un modelloOttimizza il miglioreDistribuisci il modello3Regressione lineare
Prevedere numeriPiù caratteristicheMisurare gli erroriGrafici dei residuiRiepilogo: noleggio di biciclette6Alberi decisionali
Gli alberi fanno domandeLeggere un alberoProfondità dell’alberoImportanza delle caratteristicheRiepilogo: decisioni sui prestiti9Insiemi
Foreste casualiPerché funzionano le foresteGradient BoostingRiepilogo: il guardiano della foresta12Sfide finali
Progressi del diabeteApprovazione del creditoCifre scritte a manoAbbandono dei clientiEsercitati da solo: Compilatore Python online