Validazione K-fold
Fa parte della sezione Apprendimento supervisionato del percorso Machine Learning di Coddy. Lezione 37 di 58.
Questo capitolo rende affidabili i tuoi punteggi. Alla fine, saprai ottimizzare un modello con grafici come questo:
Una singola suddivisione di test può essere fortunata. La convalida incrociata K-fold divide le righe in fold, in questo caso 5, e testa a turno su ciascun fold, addestrando sui restanti:
Una chiamata li esegue tutti e cinque, qui per un albero sui fiori di iris:
from sklearn.model_selection import cross_val_score
tree = DecisionTreeClassifier(random_state=0)
scores = cross_val_score(tree, X, y, cv=5)
print(np.round(scores, 3))
print(f"{scores.mean():.3f} {scores.std():.3f}")Questo stampa:
[0.967 0.967 0.9 0.967 1. ]
0.960 0.033Riporta la media come punteggio e la deviazione standard come misura di quanto oscilla.
Sfida
MedioUn birrificio di kombucha prevede quali lotti sono deteriorati basandosi su 5 letture di laboratorio. Quanto è stabile il suo modello? Il programma legge il numero di fold; il codice iniziale genera i dati e il modello.
- Convalida incrociata il modello con quel numero di fold.
- Stampa l'accuratezza di ogni fold, poi la media e la deviazione standard, tutto con 3 decimali.
- Stampa il numero del fold più debole, contando da 1.
Per altri lotti e 4:
Fold 1: 0.917
Fold 2: 0.933
Fold 3: 0.883
Fold 4: 0.917
Mean 0.912, std 0.018
Weakest fold: 3Provalo tu
import numpy as np
from sklearn.datasets import make_classification
from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LogisticRegression
n_folds = int(input())
# Non modificare le righe seguenti: 240 lotti di kombucha, 5 misurazioni di laboratorio ciascuno; l'etichetta 1 indica che il lotto è avariato
X, y = make_classification(n_samples=240, n_features=5, n_informative=3, n_redundant=0,
flip_y=0.08, class_sep=0.9, random_state=2)
model = LogisticRegression(max_iter=1000)
# 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