Questa potrebbe essere forse una domanda sciocca, ma quando si genera un modello con cursore e si usa qualcosa di simile LOOCV
o (ancora di più al punto) LGOCV
, qual è il vantaggio di dividere i dati in set di treni e test se questo è essenzialmente ciò che la fase di convalida incrociata fa comunque?
Ho letto alcune delle domande correlate e mi hanno suggerito che alcuni dei metodi di convalida incrociata (ad es. Ciò che è descritto qui nel sito di inserimento ) sono finalizzati alla selezione delle funzionalità . Ma nel mio caso, sto usando randomForest
( method = "rf"
) e kernlab
( method = svmRadial
), che non sono elencati nel gruppo che tenta di eliminare i predittori.
Quindi, la mia domanda è se uso qualcosa del genere cross_val <- trainControl(method = "LGOCV", p = 0.8)
, non è lo stesso della formazione sull'80% dei miei dati, testare il modello risultante sul restante 20% e farlo più e più volte per avere un'idea di quanto bene il il modello funziona?
In tal caso, è necessario suddividere i miei dati in set di treni / test?
PS chiedo in parte mentre sto conducendo modelli su prototipi DOE generati empiricamente (pensiamo ai beni duri in cui modifichiamo input e quindi usiamo metodi di prova per misurare vari attributi sul prototipo).
Come tale, non ho un enorme set di dati con molti livelli di predittore sovrapposti da cui modellare - spesso eseguiamo una prova in ogni punto di interesse DOE poiché la generazione dei dati è costosa in questo caso. Quindi, mi piacerebbe usare tutti i dati che posso per un modello accurato, ma volevo controllare qui che non mi manca qualcosa di ovvio e fare un modello scadente non suddividendo le cose.
Modifica: in risposta alla domanda di @ topepo, sto modellando gli attributi misurati fisicamente di un composto in base alla regolazione degli input chimici della formula. Non posso discutere della mia effettiva applicazione, ma tratterò un esempio basato sulla formulazione di vernice per interni in lattice. Sto conducendo esperimenti progettati in cui mescoliamo 4-5 sostanze chimiche, magari giochiamo con% di solidi e una quantità di tempo per riscaldare la soluzione polimerica per regolare il grado di polimerizzazione.
Potremmo quindi misurare reologia, peso molecolare, durezza del rivestimento, resistenza all'acqua, ecc.
Abbiamo repliche decenti di diverse variabili, ma poche repliche vere nel senso che ogni livello DOE era esattamente lo stesso. Il set di dati totali è di ~ 80 osservazioni e forse 4-5 sono ripetizioni esatte. Abbiamo condotto 15 diversi test e forse 5-6 di questi sono stati fatti per ogni singola osservazione. Alcune delle risposte sono presenti per il 25-50% dei dati.
Da qui, vorremmo modellare gli effetti dei nostri 7 predittori sulle proprietà di output e quindi ottimizzare per indirizzare nuovi spazi di progettazione che hanno maggiori probabilità di fornire le proprietà desiderate.
(Da qui la mia domanda QUI . Una volta che ho un modello addestrato, sarebbe bello fare il "contrario" e inserire le risposte desiderate per ottenere la migliore ipotesi ai possibili livelli di input da provare in seguito).
data_set1
, cosa considero il passaggio eseguito dalla LGOCV
validazione incrociata? Dalla mia lettura suppongo che 1) caret
esegua l'iterazione dei parametri di ottimizzazione data_set1
e quindi 2) mantenga tali parametri fissi e 3) crei un "modello secondario" utilizzando i parametri dal numero 1 per ciascun p = 0.8
campione di data_set1
e verifichi le previsioni sui restanti 0,2 per misurare l'accuratezza . È un riassunto ragionevole?