In linea di principio:
Fai le tue previsioni utilizzando un singolo modello addestrato sull'intero set di dati (quindi esiste solo un set di funzionalità). La convalida incrociata viene utilizzata solo per stimare le prestazioni predittive del singolo modello addestrato sull'intero set di dati. È VITAL nell'uso della convalida incrociata che in ogni piega si ripete l'intera procedura utilizzata per adattarsi al modello primario, poiché altrimenti si può finire con una sostanziale distorsione ottimistica delle prestazioni.
Per capire perché ciò accada, considera un problema di classificazione binaria con 1000 funzioni binarie ma solo 100 casi, in cui i casi e le caratteristiche sono puramente casuali, quindi non esiste alcuna relazione statistica tra le caratteristiche e i casi. Se formiamo un modello primario sull'insieme di dati completo, possiamo sempre ottenere zero errori sul set di addestramento in quanto vi sono più funzioni che casi. Possiamo persino trovare un sottoinsieme di funzionalità "informative" (che sono correlate per caso). Se eseguiamo quindi la convalida incrociata utilizzando solo queste funzionalità, otterremo una stima delle prestazioni migliore rispetto all'ipotesi casuale. Il motivo è che in ogni piega della procedura di convalida incrociata ci sono alcune informazioni sui casi risolti utilizzati per i test poiché le funzionalità sono state scelte perché erano buone per prevedere, tutte, compresi quelli sostenuti. Ovviamente il tasso di errore reale sarà 0,5.
Se adottiamo la procedura corretta ed eseguiamo la selezione delle caratteristiche in ogni piega, non ci sono più informazioni sui casi risolti nella scelta delle caratteristiche utilizzate in quella piega. Se si utilizza la procedura corretta, in questo caso, si otterrà un tasso di errore di circa 0,5 (anche se varierà leggermente per le diverse realizzazioni del set di dati).
I buoni documenti da leggere sono:
Christophe Ambroise, Geoffrey J. McLachlan, "Distorsione di selezione nell'estrazione genica sulla base di dati di espressione genica di microarray", PNAS http://www.pnas.org/content/99/10/6562.abstract
che è molto rilevante per il PO e
Gavin C. Cawley, Nicola LC Talbot, "Sull'adattamento eccessivo nella selezione del modello e conseguente bias di selezione nella valutazione delle prestazioni", JMLR 11 (lug): 2079-2107, 2010 http://jmlr.csail.mit.edu/papers /v11/cawley10a.html
che dimostra che la stessa cosa può facilmente verificarsi nella selezione del modello (ad es. sintonizzazione degli iperparametri di un SVM, che deve anche essere ripetuto in ogni iterazione della procedura CV).
In pratica:
Consiglierei l'uso del Bagging e l'uso dell'errore out-of-bag per la stima delle prestazioni. Otterrai un modello di comitato che utilizza molte funzionalità, ma in realtà è una buona cosa. Se si utilizza solo un singolo modello, è probabile che si adatterà eccessivamente al criterio di selezione delle funzionalità e si finirà con un modello che fornisce previsioni più scadenti rispetto a un modello che utilizza un numero maggiore di funzioni.
Il libro di Alan Millers sulla selezione dei sottogruppi in regressione (monografie di Chapman e Hall su statistiche e probabilità applicata, volume 95) offre un buon consiglio (pagina 221) che se le prestazioni predittive sono la cosa più importante, allora non fare alcuna selezione delle caratteristiche , basta usare invece la regressione della cresta. E questo è in un libro sulla selezione dei sottogruppi !!! ; O)