Est-il possible d'extraire la formule de prédiction sous forme de formule sur une ligne dans un script ?Bonjour,
Après avoir créé une formule de prédiction (par exemple à partir d'un réseau de neurones) et qu'une colonne est créée, je peux cliquer avec le bouton droit sur cette colonne, cliquer sur "formule" et afficher la formule créée. Je peux alors "cliquer et faire glisser" l'équation dans un fichier texte sous la forme d'une équation à une ligne.
Ma question : est-il possible de scripter ce processus ? Je souhaite conserver cette formule sans avoir à effectuer le processus ci-dessus à chaque fois. (J'ai déjà un script qui exécutera le réseau neuronal, etc., mais rien qui puisse économiser cette formule sur une seule ligne).
Merci pour votre temps!
Re : Possibilité d'extraire la formule de prédiction sous forme de formule sur une ligne dans un script ?Merci, Mark - j'apprécie vraiment votre temps. J'ai découvert que je pouvais imprimer (mais pas dans un fichier séparé) la formule entière (à l'aide de la commande Show()) en faisant quelque chose comme ceci :
résultat = Colonne ("X prédit") >> Obtenir la formule
Afficher le résultat);
Une fois que j'ai vu que l'équation imprimée correspondait à ce que je voulais (à l'aide de la commande Show()), j'ai essayé de la convertir en chaîne pour utiliser la commande "Enregistrer le fichier texte". Cependant, en convertissant la formule en chaîne, le résultat est le suivant :
"."
J'ai testé cela en essayant de convertir quelque chose de simple comme "tan(a+b)" en chaîne, mais dans la commande char(), il tente de résoudre "tan(a+b)". Je ne sais pas si c'est ce qui arrive à ce qui précède.
Mais je vois que votre solution proposée inclut un peu plus de syntaxe que je n'incluais pas, je vais donc essayer maintenant.
Re : Possibilité d'extraire la formule de prédiction sous forme de formule sur une ligne dans un script ?Ce script n'est pas une solution générale mais il montre comment procéder :
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
nn = dt << Neural(
Y( :weight ),
X( :age, :sex, :height ),
Informative Missing( 0 ),
Validation Method( "Holdback", 0.3333 ),
Fit( NTanH( 3 ) )
);
nn << Save Formulas;
formula string = Char( :H1_1 << Get Formula ) || "\!n";
formula string ||= Char( :H1_2 << Get Formula ) || "\!n";
formula string ||= Char( :H1_3 << Get Formula ) || "\!n";
formula string ||= Char( :Predicted weight << Get Formula );
Save Text File( "My NN Formula.txt", formula string );
Re : Possibilité d'extraire la formule de prédiction sous forme de formule sur une ligne dans un script ?Intéressant, alors peut-être que si je peux décomposer la formule en « Enregistrer la formule » au lieu de sélectionner « Enregistrer les formules de profil », je pourrai peut-être reconstituer la formule entière.
Re : Possibilité d'extraire la formule de prédiction sous forme de formule sur une ligne dans un script ?Merci, Mark - n'y a-t-il donc pas de syntaxe actuelle pour « saisir » une formule de réseau neuronal dans un script ? Comme je l'ai mentionné précédemment, j'ai ouvert l'éditeur de formule (pour afficher la formule du réseau neuronal), puis cliquez et faites glisser la formule vers un fichier texte. On dirait qu’il doit y avoir un moyen de résoudre cette équation. Merci d'avoir jeté un oeil !
Re : Possibilité d'extraire la formule de prédiction sous forme de formule sur une ligne dans un script ?Neural enregistre le modèle ajusté sous la forme d'une série de colonnes avec des formules pour chaque nœud caché et pour l'accumulation des nœuds cachés pour chaque réponse. Ce n’est pas le même résultat que lorsque vous ajustez un modèle linéaire.
BTW, j'ai reçu l'expression de formule avec ce message lorsqu'elle a été envoyée à la colonne de formule de prédiction. Cela nécessiterait une substitution par les formules pour les nœuds cachés individuels (H1 ... Hn) pour l'étendre complètement.
Re : Possibilité d'extraire la formule de prédiction sous forme de formule sur une ligne dans un script ?Salut Jim,
Cela fonctionne donc pour la plupart des équations, mais si j'essaie de faire cela pour une formule générée à partir d'un Réseau neuronal , "Obtenir la formule" renvoie ceci pour l'équation/formule :
Neuronal[ ]
Savez-vous s'il existe un autre moyen d'appeler ou d'obtenir la formule utilisée pour un calcul ? C'est une longue équation, alors je me demande s'il existe une limite de caractères pour "Obtenir la formule".
Merci,
John
Re : Possibilité d'extraire la formule de prédiction sous forme de formule sur une ligne dans un script ?vous avez raison et le réglage que vous avez effectué devrait le faire fonctionner sans problème
Re : Possibilité d'extraire la formule de prédiction sous forme de formule sur une ligne dans un script ?Merci encore pour la réponse - cependant, l'option « Enregistrer le fichier texte » ne fonctionne-t-elle pas uniquement pour les chaînes ? (où vous avez inclus le « x »). Je pense donc que je vais devoir essayer quelque chose comme x = char(col << get formula). Je vais voir si ça marche. Si vous avez d'autres idées, n'hésitez pas à me le faire savoir ! Merci.
Re : Possibilité d'extraire la formule de prédiction sous forme de formule sur une ligne dans un script ?Merci beaucoup! J'essaierai.
Re : Possibilité d'extraire la formule de prédiction sous forme de formule sur une ligne dans un script ?x = col << obtenir la formule ;
enregistrer le fichier texte("chemin d'accès au fichier",x);
voir:
Aide ==> Index de script ==> Table de données ==> Script de colonne