Ciao.
La domanda che ho è che ho un set di dati e voglio separare il 30% di questo set di dati per i test. Desidero provare diversi modelli utilizzando lo screening del modello, ma per la parte di convalida dei miei modelli, desidero che tutti i miei modelli utilizzino esattamente lo stesso set di dati di test per la convalida.
Cosa devo fare a questo scopo?
Ciao @maryam_nourmand ,
Il modo più semplice per ottenere risultati riproducibili su set di dati fissi di training/convalida/test è creare una colonna di convalida.
- Innanzitutto, vai nel menu corrispondente per creare la colonna di convalida:

- Quindi puoi specificare gruppi o stratificazione (se necessario):

Hai diverse opzioni per il metodo: qui ho usato quella predefinita corrispondente alle tue esigenze, "Crea colonna di convalida" e utilizzo alcune variabili come colonne di stratificazione per assicurarmi che tutti i miei set di training, validazione e test abbiano una distribuzione/ripartizione simile di valori per queste colonne.
-
Quindi puoi specificare il rapporto dei dati per ciascuno dei tuoi set e specificare un seme casuale per avere una perfetta riproducibilità nella tua analisi. Qui ho scelto un tipo di convalida fisso, ma puoi anche creare una colonna di convalida della formula, consentendo di simulare vari set di training, convalida e test con le stesse impostazioni (raggruppamento, stratificazione, ecc...) come specificato nel passaggio 2. Ecco il mio i rapporti dei dati sono 70% per la formazione, 20% per la convalida e 10% per i test (valori usuali, per maggiori informazioni e ricerche su questo argomento, puoi leggere il documento "Optimal Ratio for Data Splitting" di V. Roshan Joseph: https //arxiv.org/pdf/2202.03326 ). È importante trovare un buon compromesso per i rapporti a seconda dell'accuratezza della valutazione, della selezione del modello necessaria e del numero di dati/righe disponibili. Quando hai finito, fai clic su "Vai" per creare questa nuova colonna di convalida nella tabella:

-
Infine, avvia la piattaforma di screening del modello e utilizza la "colonna Validazione" appena creata nel pannello "Convalida". In questa fase puoi anche fissare un seme casuale per avere risultati riproducibili per i diversi modelli e set utilizzati:
Solo alcune precisazioni sui termini validazione e test, in quanto molto spesso possono essere utilizzati alternativamente con una certa confusione:
- Set di addestramento: utilizzato per l'addestramento effettivo del/i modello/i,
- Set di convalida: utilizzato per l'ottimizzazione del modello (ottimizzazione degli iperparametri, selezione di funzionalità/soglie, ... per esempio) e la selezione del modello,
- Set di test: utilizzato per la generalizzazione e la valutazione delle prestazioni predittive del modello selezionato su dati nuovi/non visualizzati.
Pertanto è possibile valutare diversi modelli con il set di validazione, ma il set di test dovrebbe essere utilizzato solo una volta per il modello selezionato nella fase di validazione.
Spero che questa risposta ti possa aiutare,
Se si dispone di JMP Pro, è disponibile una piattaforma per creare una colonna di convalida e, all'interno delle varie piattaforme di modellazione, è possibile specificare la colonna che indica quali righe sono righe di addestramento e quali righe di convalida.
Se si utilizza JMP standard, è possibile creare facilmente una colonna di convalida utilizzando la funzione Random Uniform() nella formula per la colonna di convalida da creare. (Assicurarsi di specificare la colonna come colonna di caratteri)
If(randome uniform()>=.7, "Validation", "Training")
Dopo aver creato la colonna, è necessario andare alla schermata Informazioni sulla colonna e rimuovere la formula che renderà statici i valori della colonna, assicurandosi che la formula non venga eseguita una seconda volta, modificando i valori.
È quindi possibile escludere e nascondere le righe di convalida durante la creazione del modello e, quando si desidera convalidare la modalità, disattivare Nascondi ed escludi le righe di convalida e Nascondi ed escludi le righe di addestramento, quindi eseguire nuovamente il modello.