Come decidi quali sono le percentuali di treno, convalida e test?


10

Quando ho diviso i miei dati etichettati in training, validazione e set di test, ho sentito tutto dal 25/25/25 al 85/5/10. Sono sicuro che questo dipende da come userai il tuo modello e da quanto è incline a sovralimentare il tuo algoritmo di apprendimento. C'è un modo per decidere o è tutto per regola empirica? Anche ELSII sembra vago sull'argomento.


Queste domande e risposte su Stackoverflow hanno due buone risposte sull'argomento con> 30 voti ciascuno. stackoverflow.com/questions/13610074/...
Luca Singham

Risposte:


13

La suddivisione della convalida del campione senza ricampionamento (convalida incrociata, o meglio: bootstrap) non è affidabile a meno che non si disponga di un campione enorme (ad esempio, ). In genere si preferisce una rigorosa convalida interna utilizzando il bootstrap, presupponendo che si programmino tutti i passaggi di selezione del modello in modo che possano essere ripetuti in ciascun loop di bootstrap. E uno dei problemi con gli approcci del campione diviso, oltre alla volatilità, è la difficoltà nella scelta delle frazioni frazionate.N>20000


E se si lavora su dati di dimensioni maggiori (ma non su big data) di 10000 <N <1000000? A quel punto la divisione sembra ragionevole. Questo si adatta a molte, ma non a tutte, situazioni che incontro.
Ed Fine

Potrebbe essere abbastanza ragionevole.
Frank Harrell,

Ho N = 95.000.000 (tenere fuori set di 9.500.000). Dov'è un riferimento che mi dice che non devo ripetere il mio esperimento 10x?
dranxo,

2
Esegui due volte (2 divisioni) e vedrai quanti risultati variano. Probabilmente variano così poco che hai solo bisogno di una divisione. Pensa alla larghezza di un intervallo di confidenza per una proporzione con una dimensione del campione così grande.
Frank Harrell,


3

Naturalmente devi anche decidere i rapporti di divisione per (doppio) ricampionamento ...

Tuttavia, il ricampionamento di solito funziona per una gamma piuttosto ampia di rapporti di divisione, se si tiene presente

  • non fare un abbandono se ciò ridurrebbe il numero di possibili corse distinte
  • lascia un numero sufficiente di casi di addestramento nel set di addestramento più interno in modo che l'algoritmo di traing abbia buone possibilità di produrre un modello utile.
  • più casi indipendenti hai, meno importanti sono queste considerazioni.

E se si lavora su dati di dimensioni maggiori (ma non su big data) di 10000 <N <1000000?

Quello che puoi fare se non sei sicuro del bisogno del ricampionamento è: ricampionare alcune volte. Basta così puoi misurare se il ricampionamento era necessario.

  • controlla la stabilità delle tue previsioni
  • controlla la stabilità dei parametri del tuo modello

Con questi risultati, puoi decidere se aggiungere più iterazioni di ricampionamento o se le cose vanno bene così come sono.


2

Non esiste una regola rigida e veloce per questo. Ma l'analisi empirica ha mostrato che più dati di allenamento hai, migliore sarà la tua precisione. Ma qualunque cosa tu faccia, non dimenticare di mettere insieme tutti i tuoi dati di allenamento / convalida / test e fare un curriculum di 10 volte quando stai finendo. Ciò fornisce una visione molto approfondita del problema di sovradimensionamento / insufficienza durante l'esperimento.


1

Penso che sia importante a quali domande stai cercando di rispondere. Sei interessato a una visione accurata della differenza di prestazioni tra più algoritmi? Quindi è necessario un set di convalida abbastanza grande. Sei interessato a quanto bene funziona un algoritmo per N = 10000 campioni? Quindi dovresti mettere almeno 10000 campioni nel set del treno.

Un set di validazione più ampio ti dà più certezza statistica sui tuoi risultati, ma la certezza riguarda le prestazioni di un algoritmo che è stato addestrato su un numero inferiore di campioni, che alla fine potrebbe non essere quello che stai cercando.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.