Domanda

Mi chiedo che tipo di modello di convalida incrociata di scegliere per problema di classificazione: K-fold o (campionamento bootstrap) sub-campionamento casuale

?

La mia ipotesi migliore è quella di utilizzare 2/3 del set di dati (che è ~ 1000 articoli) per la formazione e 1/3 per la convalida.

In questo caso K-fold dà solo tre iterazioni (pieghe), che non è sufficiente per vedere errore medio stabile.

D'altra parte non mi piace caratteristica casuale sub-campionamento:. Che alcuni oggetti non saranno mai selezionati per la formazione / validazione, e alcuni saranno utilizzati più di una volta

algoritmi di classificazione utilizzato:. Foresta casuale e di regressione logistica

È stato utile?

Soluzione

Se si dispone di un numero adeguato di campioni e si desidera utilizzare tutti i dati, quindi k volte la convalida incrociata è la strada da percorrere. Avendo ~ 1500 sembra un sacco ma se sono adeguate per k-fold cross-validation dipende anche la dimensionalità dei dati (numero di attributi e il numero di valori di attributi). Ad esempio, se ogni osservazione ha 100 attributi, poi 1.500 osservazioni è basso.

Un altro potenziale svantaggio a k volte convalida incrociata è la possibilità di un singolo valore anomalo estrema alterando i risultati. Ad esempio, se si dispone di un outlier estremo che può pesantemente pregiudizi tuo classificatore, poi in un 10 volte la convalida incrociata, sarà influenzato 9 delle 10 partizioni (anche se per foreste casuali, non credo che si dovrebbe avere lo stesso problema ).

a caso sottocampionamento (ad esempio, bootstrap campionamento) è preferibile quando si sia sottocampionate o quando si ha la situazione di cui sopra, in cui non si vuole ogni osservazione appaia nel K-1 pieghe.

Altri suggerimenti

Credo che tu dici che si desidera utilizzare 3 volte la convalida incrociata, perché si sa qualcosa circa i vostri dati (che usando k = 10 causerebbe overfitting? Sono curioso di tuo ragionamento). Non sono sicuro che lo sai, se poi non si può semplicemente utilizzare un k più grande.

Se si pensa ancora che non è possibile utilizzare standard di k volte la convalida incrociata, allora si potrebbe modificare l'algoritmo di un po ': diciamo che di dividere i dati in 30 pieghe e ogni volta l'uso 20 per la formazione e 10 per la valutazione (e poi sposta su una piega e utilizzare il primo e l'ultimo 9 come valutazione ed il resto come formazione). Questo significa che siete in grado di utilizzare tutti i dati.

Quando uso k volte la convalida incrociata Io di solito eseguire il processo più volte con una randomizzazione diverso per assicurarsi che ho dati sufficienti, se non si vedrà spettacoli diversi a seconda della randomizzazione. In questi casi, vorrei suggerire di campionamento. Il trucco è quindi di farlo abbastanza spesso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top