Valutare un modello
Fa parte della sezione Apprendimento supervisionato del percorso Machine Learning di Coddy. Lezione 4 di 58.
Un modello è valido? La sua accuratezza, la percentuale di righe di test indovinate correttamente, lo indica. Confrontala con un'ipotesi pigra:
Il 78% dei prestiti di questa biblioteca è stato restituito in tempo, quindi rispondere sempre in tempo dà un punteggio di 0.78. Questo è il valore di riferimento.
from sklearn.metrics import accuracy_score
pred = model.predict(X_test)
print(accuracy_score(y_test, pred))
print(model.score(X_test, y_test))
common = y_train.value_counts().index[0]
print((y_test == common).mean())Questo stampa 0.88, 0.88, 0.78. score predice e conta in una sola chiamata; la baseline risponde sempre con l'etichetta di training più comune.
Un modello si guadagna il suo posto solo battendo la baseline.
Sfida
FacileI sensori di un'apicoltrice monitorano 160 alveari in hives.csv; swarm indica se ciascun alveare ha sciamato. Un sensore può avvisarla? Il codice iniziale legge il nome di un sensore e adatta un modello usando solo quel sensore.
- Stampa la sua accuratezza sul test, arrotondata a 3 decimali.
- Stampa la baseline, indicando l'etichetta a cui risponde sempre.
- Stampa se il modello la supera.
Per un altro apiario e weight_change_kg:
Model on weight_change_kg: 0.775
Always "no": 0.7
Beats the baseline: yesProvalo tu
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
# Una riga per ogni alveare: i dati dei suoi sensori e se ha sciamato
hives = pd.read_csv("hives.csv")
sensor = input()
X = hives[[sensor]]
y = hives["swarm"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
model = KNeighborsClassifier()
model.fit(X_train, y_train)
# 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 prestitiEsercitati da solo: Compilatore Python online