Bonjour à tous,
Je code dans une application à l'aide de jsl (et oui, je sais que je peux créer un tableau de bord pour le faire
) et j'utilise des substituts. Jusqu'à présent, la façon dont cela fonctionne est que j'essaie manuellement différents types de substituts (par exemple, pas à pas, NN, polynômes, etc.) et, en fonction de mon R2 et d'autres métriques disponibles, je décide lequel choisir pour chaque variable dépendante de mon analyse . Ma question est la suivante: existe-t-il un moyen moins manuel pour JMP de créer automatiquement des substituts, d’essayer différents types et de conserver ceux qui correspondent le mieux au lieu de continuer à créer des types manuellement et de choisir?
Merci,
Eva
Bonjour Eva,
Veuillez regarder l'exemple suivant:
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 )
)
);Ce script crée 6 modèles de neurones différents et prend une décision basée sur la validation R2 pour en choisir un. Insérez des déclarations "show" ici et là pour voir ce qui se passe.
Lorsque vous étendez cela à d'autres méthodes, vous devrez trouver leurs commandes spécifiques pour extraire les informations R2 (ou la métrique avec laquelle vous souhaitez travailler). Ceci est spécifique à la plate-forme neuronale. Vous pouvez mettre en place une logique plus compliquée si vous souhaitez modifier le nombre d'autres types de fonctions d'activation ou passer au renforcement, etc.
J'espère que cela aide et faites-moi savoir si vous avez d'autres questions.