Re : Comment puis-je automatiser et résumer de nombreuses validations répétées dans une seule table de sortie ?Je suppose que vous pourriez ajouter 100 colonnes de validation en itérant ceci :
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "Validation",
numeric,
"Nominal",
Formula( Make Validation Formula( [.6, .2, .2] ) ),
Set Property( "Value Labels", {0 = "Training", 1 = "Validation", 2 = "Test"} )
);
Ensuite, ajustez votre modèle, en parcourant chaque colonne de validation et en enregistrant le tableau récapitulatif pour chacun, en les enregistrant tous dans un dossier.
Ensuite, ouvrez et concaténez les fichiers à l'aide de l'ouverture de plusieurs fichiers.
...ou peut-être...
ouvrez votre table, ajoutez la colonne de validation, exécutez le modèle, enregistrez le résumé, fermez la table sans enregistrer et parcourez cela 100 fois.
Ensuite, utilisez plusieurs fichiers ouverts et concaténer les tables pour obtenir votre résumé global.
Re : Comment puis-je automatiser et résumer de nombreuses validations répétées dans une seule table de sortie ?Merci pour la réponse,.Comme je n'avais rien entendu, j'ai travaillé sur ma propre solution que je viens de terminer vendredi dernier.
Je commence comme vous le suggérez en créant 100 colonnes de validation.
Je parcourt l'analyse pour chacun en extrayant le tableau dont j'ai besoin de chaque rapport sous forme de tableau de données.
Je joins chaque table dans mon fichier maître, puis ferme le rapport et la table de données, donc bien que je génère 200 fichiers, je n'en ai que 3 ouverts à la fois.Je peux utiliser la fonctionnalité de pile de tables pour extraire les données dont j'ai besoin de toutes les nouvelles colonnes requises en recherchant un mot-clé dans la colonne générée et en analysant les données résultantes.La seule partie que je n'ai pas gérée (ce qui permettrait d'économiser l'empilement est d'exporter uniquement la colonne dont j'ai besoin à partir du tableau de rapport), j'ai essayé plusieurs fois mais j'ai échoué.
Report( discriminant[1] )[Outline Box("Probabilities to Each Group")] [Table Box (1)] << Make Data Table( "discrim_table " || char(i) );J'ai identifié le tableau du rapport intitulé "Probabilités pour chaque groupe".Ce sont 4 colonnes dans ce tableau (pour mes données) et je suis intéressé par l'extraction de la troisième colonne appelée "AAAAAA" à des fins aveugles comme étiquette.Les propriétés sont claires, il s'agit de la boîte de col de la table de données (:AAAAA) et cette boîte de col est imbriquée sous les "probabilités pour chaque groupe".Je sais que je pourrais scripter pour supprimer ces colonnes supplémentaires du fichier maître, mais cela semble inefficace.J'ai essayé NumberColBox("AAAAA") etc., mais pas de joie, est-ce que quelqu'un a des idées?
Re : Comment puis-je automatiser et résumer de nombreuses validations répétées dans une seule table de sortie ?Salut @TDF ,
Peut-être un processus plus simple pour vous aider :
1. Créer une colonne de validation formule (ici sur le jeu de données Big Class):

2. Utilisez cette formule dans le modèle :

3. Selon où/ce que vous aimeriez avoir des répétitions de l'ajustement du modèle, vous pouvez faire un clic droit sur les métriques/estimations que vous voulez répéter et cliquer sur "Simuler" (dans mon exemple, je le fais sur le "Paramètre Valeurs du panneau "Estimations") :

Vous pouvez spécifier le nombre d'échantillons que vous voulez et fixer une graine aléatoire (si vous voulez des résultats reproductibles) :

4. Après avoir cliqué sur "OK", le modèle est ajusté 100 fois en faisant varier les jeux d'apprentissage et de validation (selon la formule d'échantillonnage stratifié), et vous avez directement un tableau récapitulatif (voir exemple joint) avec les 100 résultats des modèles , où vous pouvez ensuite afficher graphiquement les résultats avec les plateformes Distributions (script généré automatiquement dans ce tableau) ou Graph Builder (exemple ici avec la plateforme Distributions, sur les estimations des paramètres pour l'ordonnée à l'origine et le poids) :

Vous pouvez créer ces étapes très facilement, puis utiliser le journal pour copier les scripts générés afin d'automatiser les étapes/analyses.
En espérant que cette réponse vous aidera,
Re : Comment puis-je automatiser et résumer de nombreuses validations répétées dans une seule table de sortie ?Merci Viktor.
Je pense que j'aurais dû être plus clair dans ma réponse.J'ai résolu mon problème et le codage est terminé.
Il serait préférable de n'ajouter que les 100 colonnes (extraites des rapports) dont j'ai besoin, plutôt que d'extraire des tableaux complets (400 colonnes) et de devoir sélectionner une colonne sur quatre à partir de la troisième.
Pour moi, c'est maintenant un intérêt intellectuel, pourrais-je extraire des colonnes spécifiques d'un tableau dans un rapport ?Ce n'est peut-être pas possible ou cela pourrait être utile à d'autres membres de la communauté si c'est le cas.
Merci à Byron et à vous-même d'avoir pris le temps de publier des options utiles.
Re : Comment puis-je automatiser et résumer de nombreuses validations répétées dans une seule table de sortie ?Salut @TDF ,
Désolé pour le malentendu, je pensais que le dossier était toujours ouvert.
Comme la discussion était centrée sur la création de 100 colonnes de validation individuelles, j'ai pensé qu'une solution plus simple (et probablement plus élégante) pourrait être d'utiliser la fonction "Simuler" disponible sur n'importe quelle plate-forme avec la formule de colonne de validation, afin de répéter automatiquement le modèle s'adaptant à divers ensembles d'entraînement et de validation, accédez à un tableau récapitulatif affichant les résultats de ces répétitions, sans étendre le tableau de données avec de nombreuses colonnes de validation et avoir à concaténer manuellement chaque résultat individuel.
Heureux que vous ayez trouvé une solution de contournement avec les scripts.
Concernant votre question, il est possible d'extraire des parties du rapport sous forme de tableau de données : faites un clic droit dans le panneau/section qui vous intéresse puis sélectionnez "Make Into Data Table" ou "Make Combined Data Table" (si vous avez plusieurs réponses Par exemple). Le script ressemble à ceci sur Big Class Dataset :
// Make TableBox into a Data Table
Local( {obj},
obj = Data Table( "Big Class" ) << Fit Model(
Y( :height ),
Effects( :age, :sex, :weight ),
Personality( "Standard Least Squares" ),
Emphasis( "Effect Leverage" ),
Run(
:height << {Summary of Fit( 1 ), Analysis of Variance( 1 ),
Parameter Estimates( 1 ), Scaled Estimates( 0 ),
Plot Actual by Predicted( 1 ), Plot Regression( 0 ),
Plot Residual by Predicted( 1 ), Plot Studentized Residuals( 0 ),
Plot Effect Leverage( 1 ), Plot Residual by Normal Quantiles( 0 ),
Box Cox Y Transformation( 0 )}
),
SendToReport(
Dispatch( {"Response height"}, "age", OutlineBox, {Close( 1 )} ),
Dispatch( {"Response height"}, "sex", OutlineBox, {Close( 1 )} ),
Dispatch( {"Response height"}, "weight", OutlineBox, {Close( 1 )} )
)
);
Report( obj )["Response height", "Whole Model", "Parameter Estimates",
Table Box( 1 )] << Make Into Data Table;
obj << Close Window;
)
Mais je ne vois pas d'option permettant de sélectionner spécifiquement certaines colonnes de ce rapport de panel. En regardant les propriétés, il faudrait que je demande spécifiquement de ne pas afficher et exporter dans le nouveau datatable un certain NumberColBox, par exemple :

Peut-être qu'un utilisateur plus avancé de Scripter peut aider pour cette question (si j'ai bien compris). Ou il peut être plus simple dans le script d'ajouter directement du code pour supprimer une colonne inutile basée sur une propriété spécifique (nom, index, ...). Il y a aussi des réponses intéressantes sur ce sujet ici : Résolu : Script pour exporter l'AIC dans une nouvelle table de données - JMP User Community
J'espère que cela t'aidera,
Tous mes vœux,
Comment puis-je automatiser et résumer de nombreuses validations répétées dans une seule table de sortie ?J'exécute des analyses discriminantes et j'utilise une colonne de validation stratifiée pour vérifier la qualité de mon modèle.
Compte tenu de la nature du travail (classification des origines d'échantillons inconnus), je veux m'assurer que le modèle est robuste.Idéalement, je veux créer 100 colonnes de validation, exécuter l'analyse une fois sur chacune, puis créer un seul tableau de classification récapitulatif - je ne veux pas ouvrir et copier manuellement 100 tables.
Ici, je regarde Classification Counts, mais la solution pourrait être de combiner n'importe quel groupe de tables de sortie identiques.
J'utilise Pro v16 (je peux mettre à jour vers v17 si cela facilite la tâche)
Un grand merci d'avance Trevor
Discriminant(
X( :Class for LDA ),
Validation( :Validation 0·7 0·2 0·1 ),
Y(
:"7.2"n, :"3.14"n, :"1.92"n, :"1.9"n, :"1.7"n, :"1.72"n, :"1.88"n, :"1.74"n,
:"1.76"n, :"1.78"n, :"0.98"n, :"0.96"n, :"1.82"n, :"2.4"n, :"2.12"n,
:"1.68"n, :"1.84"n, :"7.92"n, :"2.08"n, :"1.8"n, :"1.86"n, :"1.04"n,
:"3.12"n, :"1.06"n, :"0.94"n, :"2.42"n, :"8.4"n, :"2.46"n, :"7.24"n,
:"2.36"n, :"1.08"n, :"2.38"n, :"2.34"n, :"8.46"n, :"2.44"n, :"8.44"n, :"1"n,
:"2.48"n, :"1.48"n, :"1.66"n, :"1.94"n, :"2.14"n, :"8.42"n, :"3.16"n,
:"8.52"n, :"7.46"n, :"2.54"n, :"3.02"n, :"8.38"n, :"3.18"n
),
Discriminant Method( "Wide Linear" ),
Show Biplot Rays( 0 ),
Canonical 3D Plot( 1, Frame3D( Set Rotation( -54, 0, 38 ) ) ),
Show Classification Counts( 1 ),
Use Matrix Columns( 1 ),
Cross Validate by Excluded Rows( 1 )
)
Fusion et nettoyage des donnéesModélisation prédictive et apprentissage automatique