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 su 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 fosse collegata alla tabella principale per consentire questo passaggio).Quindi procedo con l'analisi del modello sulla nuova tabella principale e verifico il grado di adattamento delle righe nella tabella del sottoinsieme (ovvero test di convalida).
Come faccio a far "registrare" a JMP quelle mosse in uno script?Finora, non sono riuscito a riconoscere quelle mosse.Grazie in anticipo!
ScriptingRe: provare a 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 sottoinsiemeRe: provare a creare e salvare un sottoinsieme casuale di righe e salvarlo in uno script per un uso successivoCiao @Campbell_Ted_R ,
Il seguente script dovrebbe aiutarti a iniziare da dove vuoi andare. Non consiglierei di collegare il sottoinsieme alla tabella principale perché se lo fai, quando eliminiamo quelle righe nella tabella principale utilizzando lo script, eliminerà 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 questo sia di aiuto!,
DS
Re: provare a 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 del sottoinsieme e il nuovo file della tabella principale) all'interno dello script?Idealmente chiamerebbe i due nuovi file con un numero crescente in sequenza ogni volta che viene eseguito lo script (ad esempio 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.
Re: provare a creare e salvare un sottoinsieme casuale di righe e salvarlo in uno script per un uso successivoCiao @Campbell_Ted_R ,
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 all'interno di un ciclo For più grande e può farlo tutto 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 fattore, 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 script (Aiuto> Indice di script) per aiutarti. Puoi cercare i comandi e ci sono esempi di come viene utilizzato per eseguire tali azioni/comandi.
Spero questo sia di aiuto!,
DS
Re: provare a 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 di riga Escluso invece di un sottoinsieme. Adatta i minimi quadrati 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 facili e convenienti.
Re: provare a creare e salvare un sottoinsieme casuale di righe e salvarlo in uno script per un uso successivoGrazie Diedrich!E grazie per aver suggerito l'indice di script JSL per aiuto.Funziona perfettamente.