Script de la plateforme de partitionLa plate-forme de partition est très efficace pour fractionner les paramètres d'une manière correcte d'un point de vue statistique, mais n'est pas appropriée compte tenu de la connaissance du domaine de l'ensemble de données. Maintenant, je ne peux pas m'attendre à ce que JMP ait une connaissance du domaine, mais j'aimerais scripter la plate-forme de partition afin de pouvoir servir les candidats sélectionnés par JMP à l'utilisateur afin qu'il puisse choisir celle qui a du sens compte tenu de sa connaissance du domaine ET est proche en haut de la liste pour la division d'un point de vue statistique. Ce qui me pose problème, c'est comment reconstruire l'arbre après que l'utilisateur a fait son choix. J'ai essayé plusieurs fois de visionner le script après plusieurs scissions et je n'arrive tout simplement pas à saisir la structure. Quelqu'un a-t-il compris cela?
Je vous remercie
Rayon
Re: Script de la plateforme de partitionJ'imagine qu'il serait possible d'écrire une interface utilisateur qui utilise "Partition" en arrière-plan mais garde son rapport masqué. Cela peut ne pas représenter beaucoup de travail, en fonction de la fonctionnalité souhaitée et du flux de travail que vous souhaitez prendre en charge.
En règle générale, lorsque vous essayez de «prendre en charge» des plates-formes conçues pour une utilisation interactive, certaines choses sont possibles, d'autres non.
Vous ne savez pas si cela peut vous aider, mais si vous pouviez former les utilisateurs à appuyer sur un bouton de «mise à jour», vous pourriez faire ce genre de chose:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Car Poll.jmp" );
par = dt << Partition(
Y( :country ),
X( :sex, :marital status, :age, :type, :size )
);
parRep = Report(par);
parRep[ListBox(4)] << prepend(ButtonBox("Update", updateScript));
updateScript =
Expr(
Beep();
setClipboard("");
par << copyScript;
treeSoFar = Parse(getClipboard());
treeSoFar;
);
'updateScript' peut entreprendre toute action possible dans JSL (et ici, il ne fait que dupliquer le rapport existant).
Re: Script de la plateforme de partitionian_jmp,
Merci d'avoir répondu à ma question. Le problème est que je dois
effacez et recréez l’arbre chaque fois que l’utilisateur sélectionne une scission. Ce que je suis
faire est de casser la table des candidats, puis ouvrant une fenêtre montrant
des graphiques de boîte et de tendance pour chacun des n premiers candidats. L'utilisateur que
sélectionne celui qui leur convient le mieux. Le mieux serait que JMP me laisse
nourrir dans le choix et "cliquer sur" l'option spécifique à la division.
Malheureusement, selon le support JMP, cela n’est pas possible. C'est ajouter
la capacité supplémentaire d'aider à sélectionner parmi les candidats qui
conduit à la nécessité de reconstruire l'arbre. Ce serait mieux si je pouvais
complètement prendre en charge la plate-forme de sorte que l'utilisateur n'a pas à utiliser l'un des
split / prune, boutons déroulants triangle rouge.
Re: Script de la plateforme de partitionVoici un script d'un arbre où deux scissions spécifiques (non optimales) ont été effectuées:
Cloison(
Y (: Oxy),
X (: Age,: Poids,: Durée, RunPulse,: RstPulse,: MaxPulse),
Informatif manquant (1),
Fractures initiales (: Age> = 45, {}, {: RstPulse> = 60}),
SendToReport (
Dispatch ({}, "Partition Report", FrameBox, {Frame Size (480, 56)}),
Dispatch ({}, "Candidats", OutlineBox, {Close (0)})
)
)
Il semble que toutes les divisions précédentes ne soient répertoriées que dans la partie initiale de la division du code. La première division serait sur la variable: Age pour mon exemple. Ensuite, pour le groupe> = 45, il n'y a plus de fractionnement (les crochets vides). Pour l'âge <45 ans, cette branche est divisée en: RstPulse. Si le prochain partage était sur la feuille: RstPulse, il s'agirait alors de {: RstPulse> = 60, {newvar> = valeur}}.
J'espère que ça aide.
Re: Script de la plateforme de partitionVous voudrez peut-être utiliser la connaissance du domaine pour "verrouiller les colonnes". Voici l'exemple de 'Aide> Index de script':
Names Default To Here( 1 );
obj = Open( "$SAMPLE_DATA/Car Poll.jmp" ) <<
Partition(
Y( :country ),
X( :sex, :marital status, :age, :type, :size )
);
obj << Lock Columns( 1, :age, :size );
(obj << report)[CheckboxBox( 1 )] << Select;
Wait( .5 );
obj << Lock Columns( 0 );
Wait( .5 );
obj << Lock Columns( 1 );
Généralement, l'index de script est un excellent point de départ si vous avez besoin de comprendre quelque chose.