cercando di creare e salvare un sottoinsieme casuale di righe e salvarlo in uno script per un uso successivoSto eseguendo un numero molto elevato di test di convalida su un modello di previsione di regressione multipla che continuo a modificare e vorrei automatizzare parte del processo di test di convalida utilizzando uno script.Finora, non sono stato in grado di "salvare nello script" la parte del processo in cui genero e salvo un sottoinsieme casuale di righe dal mio set di dati di addestramento da utilizzare per i test di convalida.
Quando lo faccio manualmente: 1) genero un sottoinsieme casuale di righe (20 percento) dalla mia tabella principale, 2) salvo il sottoinsieme e 3) elimino le righe del sottoinsieme dalla tabella principale e salvo la "nuova" tabella principale ( nota che mi sono assicurato che la tabella del sottoinsieme sia collegata alla tabella principale per consentire questo passaggio).Quindi vado avanti con l'analisi del modello sulla nuova tabella principale e verifico quanto bene si adattano le righe nella tabella del sottoinsieme (cioè test di convalida).
Come posso fare in modo che JMP "registri" quelle mosse in uno script?Finora, non sono riuscito a riconoscere quelle mosse.Grazie in anticipo!
Miscelazione e pulizia dei datiEsplorazione e visualizzazione dei datiRi: tentativo di creare e salvare un sottoinsieme casuale di righe e salvarlo in uno script per un uso successivoSì, è molto meglio avvicinarsi a Mark.Apprezzo molto che tu abbia dedicato del tempo per farmelo sapere.
Ri: tentativo di creare e salvare un sottoinsieme casuale di righe e salvarlo in uno script per un uso successivo
Ri: tentativo di creare e salvare un sottoinsieme casuale di righe e salvarlo in uno script per un uso successivoGrazie Mark - Lo stato della riga esclusa consente di escludere una selezione casuale di righe (diciamo il 20%) dal set di dati originale?Non era ovvio nell'indice dello script JSL.
Ri: tentativo di creare e salvare un sottoinsieme casuale di righe e salvarlo in uno script per un uso successivotxnelson - Grazie per il suggerimento!
Ri: tentativo di creare e salvare un sottoinsieme casuale di righe e salvarlo in uno script per un uso successivoGrazie Dierich!E grazie per aver suggerito l'indice di script JSL per aiuto.Funziona perfettamente.
Ri: tentativo di creare e salvare un sottoinsieme casuale di righe e salvarlo in uno script per un uso successivoPrima di andare oltre, mi chiedo se ci sia un vantaggio in un altro approccio. È possibile utilizzare lo stato Riga esclusa invece di un sottoinsieme. Fit Least Squares non includerà le righe escluse nell'addestramento del modello. Puoi salvare una formula di previsione in una nuova colonna e la risposta prevista delle righe escluse sarà lì.
Inoltre, JMP Pro offre un ruolo di analisi di convalida per rendere tali valutazioni molto semplici e convenienti.
Ri: tentativo di creare e salvare un sottoinsieme casuale di righe e salvarlo in uno script per un uso successivoCIAO @learning_JSL ,
Sì, quando chiami la funzione Salva o Salva con nome in JSL, puoi impostare il nome. Se lo fai in modo iterativo, puoi inserire tutto in un ciclo For più grande e può farlo automaticamente per te. Ora che penso a cosa stai facendo con i dati, sembra quasi che tu stia facendo qualcosa di simile alla convalida incrociata K-fold. Se lo sei, molte delle piattaforme adatte in JMP lo gestiranno molto facilmente. A seconda della piattaforma di modellazione, potresti selezionarla come opzione di convalida incrociata oppure potresti dover creare diverse colonne di convalida k-fold, come è necessario in XGBoost. In entrambi i casi, puoi creare una colonna di convalida con colonne di addestramento, convalida e test e puoi stratificare la colonna di convalida in base alla colonna di risposta o alle colonne dei fattori, tuttavia funziona meglio per la tua situazione.
In una nota a margine, se hai intenzione di iniziare a creare script per risparmiare tempo, ti consiglio vivamente di utilizzare l'indice di scripting (Aiuto> Indice di scripting) per aiutarti. Puoi cercare i comandi e ci sono esempi di come viene utilizzato per eseguire tali azioni/comandi.
Spero che questo ti aiuti!,
DS
Ri: tentativo di creare e salvare un sottoinsieme casuale di righe e salvarlo in uno script per un uso successivoPerfetto!E c'è un comando per nominare i nuovi file (cioè il nuovo file di sottoinsieme e il nuovo file della tabella principale) all'interno dello script?Idealmente dovrebbe nominare i due nuovi file con un numero crescente in sequenza ogni volta che lo script viene eseguito (ad es. subset 1, main 1.....subset 2, main 2.....subset 3, main 3, ... ..etc) ma non mi dispiace reimpostarlo manualmente all'interno dello script, se necessario, poiché questo è già un enorme risparmio di tempo.
Ri: tentativo di creare e salvare un sottoinsieme casuale di righe e salvarlo in uno script per un uso successivoCIAO @learning_JSL ,
Il seguente script dovrebbe aiutarti a iniziare dove vuoi andare. Non consiglierei di collegare il sottoinsieme alla tabella principale perché se lo fai, quando eliminiamo quelle righe nella tabella principale usando lo script, elimineremo anche le righe nella tabella del sottoinsieme. Ad ogni modo, questo dovrebbe farti iniziare nella direzione in cui vuoi andare.
Names default to here (1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Random_rows = dt<<SELECT randomly=""></SELECT>
Spero che questo ti aiuti!,
DS
Ri: tentativo di creare e salvare un sottoinsieme casuale di righe e salvarlo in uno script per un uso successivoGuarda nella voce di origine nella tabella dei dati del sottoinsieme e avrà il jsl per il sottoinsieme