Ciao a tutti,
Sto codificando in un'app usando jsl (e sì, so che posso creare un dashboard per farlo
) e sto usando surrogati. Finora, il modo in cui funziona è che provo manualmente diversi tipi di surrogati (es. Stepwise, NN, polinomi ecc.) E secondo il mio R2 e altre metriche disponibili, decido quale scegliere per ciascuna variabile dipendente della mia analisi . La mia domanda è: c'è un modo meno manuale per JMP di creare automaticamente surrogati, provare diversi tipi e mantenere quelli con la misura più accurata invece di andare avanti e creare manualmente i diversi tipi e scegliere?
Grazie,
Eva
Ciao Eva,
Si prega di dare un'occhiata al seguente esempio:
dt = Open( "$SAMPLE_DATA/Boston Housing.jmp" );
neural_fits = Neural(
Y( :chas ),
X( :crim, :indus, :nox, :rooms, :age, :distance, :radial ),
);
// =========== You need to modify the above for your specific problem
min_neurons = 5;
max_neurons = 10;
r2_list = {};
For( i=min_neurons, i<=max_neurons, i++,
neural_fits << Fit( NTanH( i ) )
);
For( i=1, i<=(max_neurons-min_neurons+1), i++,
r2_list = Insert( r2_list, ( neural_fits << ( Fit[i] << Get RSquare Validation ) )[1] )
);
best_r2_fit = Loc Max( Matrix( r2_list ) );
For( i=(max_neurons-min_neurons+1), i>=1, i--, // must be backwards because the fit numbers shift as you remove them
If( i != best_r2_fit,
neural_fits << ( Fit[i] << Remove Fit )
)
);Questo script crea 6 diversi modelli neurali e prende una decisione basata sulla convalida R2 per sceglierne una. Inserisci alcune dichiarazioni "show" qui e là per vedere cosa sta succedendo.
Quando estendi questo ad altri metodi, dovrai trovare i loro comandi specifici per estrarre informazioni R2 (o qualsiasi altra metrica con cui desideri lavorare). Questo è specifico per la piattaforma neurale. Puoi mettere insieme una logica più complicata se vuoi variare il numero di altri tipi di funzioni di attivazione o andare in boosting ecc.
Spero che questo aiuti e fammi sapere se hai ulteriori domande.