L'accuratezza del modello è del 100% su un overfitting di dati fuori campione?


11

Ho appena completato l'apprendimento automatico per il corso R su cognitiveclass.ai e ho iniziato a sperimentare con foreste casuali.

Ho creato un modello usando la libreria "randomForest" in R. Il modello classifica per due classi, buono e cattivo.

So che quando un modello è sovralimentato, si comporta bene con i dati del proprio set di training ma male con i dati fuori campione.

Per addestrare e testare il mio modello ho mischiato e diviso il set di dati completo in 70% per l'allenamento e 30% per i test.

La mia domanda: sto ottenendo una precisione del 100% dalla previsione fatta sul set di test. È male? Sembra troppo bello per essere vero.

L'obiettivo è il riconoscimento della forma d'onda su quattro l'uno sull'altro a seconda delle forme d'onda. Le caratteristiche del set di dati sono i risultati di costo dell'analisi Dynamic Time Warping delle forme d'onda con la loro forma d'onda target.


benvenuti nel sito! Hai provato a prevedere alcuni dati sul rumore?
Toros91,

Ogni volta che rimescoli, ti alleni e collaudi, la precisione è del 100%?
Alex

@Alex Non esattamente ma rimane molto alto come il 98,55%
Milan van Dijck

1
@Alex 11.35% "ok" e 88.65% "bad"
Milan van Dijck

1
È abbastanza squilibrato. Prova a utilizzare il ricampionamento (campionamento ripetuto) per inclinare la bilancia nel set di allenamento verso la classe OK (rendilo ad esempio il 30%) e mantieni il rapporto 11/89 nei set di test / validazione. Che cosa ottieni?
Alex

Risposte:


29

Punteggi di convalida elevati come l'accuratezza in genere indicano che non si sta adattando eccessivamente, tuttavia dovrebbe portare a cautela e può indicare che qualcosa è andato storto. Potrebbe anche significare che il problema non è troppo difficile e che il modello funziona davvero bene. Due cose che potrebbero andare storte:

  • Non hai diviso correttamente i dati e anche i dati di convalida si sono verificati nei tuoi dati di allenamento, il che significa che indica un overfitting perché non stai più misurando la generalizzazione
  • Utilizzi un po 'di ingegneria delle funzionalità per creare funzionalità aggiuntive e potresti aver introdotto una perdita di target, in cui le tue righe utilizzano informazioni dal target attuale, non solo da altri nel tuo set di formazione

11
L'accuratezza del 100% urla sempre "perdite target".
Paul,

1

Indagare per vedere quali sono le funzionalità più predittive. A volte hai incluso accidentalmente il tuo obiettivo (o qualcosa di equivalente al tuo obiettivo) tra le tue funzionalità.

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.