In alcune lezioni ed esercitazioni che ho visto, suggeriscono di dividere i dati in tre parti: formazione, convalida e test. Ma non è chiaro come utilizzare il set di dati di test, né come questo approccio sia migliore della convalida incrociata sull'intero set di dati.
Supponiamo di aver salvato il 20% dei nostri dati come set di test. Quindi prendiamo il resto, lo dividiamo in k fold e, usando la validazione incrociata, troviamo il modello che fa la migliore previsione su dati sconosciuti da questo set di dati. Diciamo che il miglior modello che abbiamo trovato ci offre una precisione del 75% .
Diversi tutorial e molte domande su vari siti Web di domande e risposte affermano che ora possiamo verificare il nostro modello su un set di dati (test) salvato. Ma non riesco ancora a capire esattamente come viene fatto, né che senso abbia.
Supponiamo di avere un'accuratezza del 70% sul set di dati di test. Quindi cosa facciamo dopo? Proviamo un altro modello, e poi un altro, fino a quando non avremo un punteggio elevato nel nostro set di dati di test? Ma in questo caso sembra davvero che troveremo il modello adatto al nostro set di test limitato (solo il 20%) . Ciò non significa che troveremo il modello che è il migliore in generale.
Inoltre, come possiamo considerare questo punteggio come una valutazione generale del modello, se viene calcolato solo su un set di dati limitato? Se questo punteggio è basso, forse siamo stati sfortunati e abbiamo selezionato dati di test "cattivi".
D'altra parte, se usiamo tutti i dati che abbiamo e quindi scegliamo il modello usando la validazione incrociata di k-fold, troveremo il modello che fa la migliore previsione su dati sconosciuti dall'intero set di dati che abbiamo.