Scripting la plataforma de particiónLa plataforma de partición es muy buena para dividir los parámetros de una manera correcta desde un punto de vista estadístico, pero no es apropiado dado el conocimiento del dominio del conjunto de datos. Ahora, no puedo esperar que JMP tenga conocimiento de dominio, pero me gustaría crear un script de la plataforma de partición para poder entregar los candidatos que JMP selecciona al usuario para que puedan elegir la que tenga sentido dado su conocimiento de dominio Y está cerca la parte superior de la lista para dividir desde un punto de vista estadístico. Con lo que estoy luchando es cómo reconstruir el árbol después de que el usuario haya elegido. He intentado varias versiones de ver el guión después de varias divisiones y parece que no puedo captar la estructura. ¿Alguien ha descubierto esto?
Gracias
Rayo
Re: Scripting la plataforma de particiónPuedo imaginar que sería posible escribir una IU que use 'Partición' en segundo plano pero que mantenga su informe oculto. Esto puede o no ser mucho trabajo, según la funcionalidad que desee y el flujo de trabajo que desee admitir.
En general, al tratar de "asumir" las plataformas que están diseñadas para uso interactivo, algunas cosas son posibles y otras no.
No estoy seguro de si es útil pero, si pudiera entrenar a los usuarios para que presionen un botón de 'actualizar', podría hacer este tipo de cosas:
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' debería realizar cualquier acción posible en JSL (y aquí simplemente duplica el informe existente).
Re: Scripting la plataforma de particiónian_jmp,
Gracias por responder mi pregunta. El problema es que necesito
borre y vuelva a crear el árbol cada vez que un usuario seleccione una división. Qué soy
Hacer es romper la tabla de candidatos y luego abrir una ventana que muestra
Cuadros de caja y tendencia para cada uno de los principales nn candidatos. El usuario que
Selecciona el que más les guste. Lo mejor sería si JMP me dejara.
alimenta la opción y haz clic en la opción específica de división.
Desafortunadamente, de acuerdo con el soporte de JMP, esto no es posible. Esta agregando
La capacidad adicional para ayudar a seleccionar entre los candidatos que
impulsa la necesidad de reconstruir el árbol. Sería mejor si pudiera
asumir completamente la plataforma para que el usuario no tenga que usar ninguna de las
botones dividir / podar, triángulo rojo desplegable.
Re: Scripting la plataforma de particiónAquí hay una secuencia de comandos de un árbol donde se hicieron dos divisiones específicas (no óptimas):
Dividir(
Y (: Oxy),
X (: Edad,: Peso,: Tiempo de ejecución,: RunPulse,: RstPulse,: MaxPulse),
Desaparecidos Informativos (1),
Divisiones iniciales (: Edad> = 45, {}, {: RstPulse> = 60}),
SendToReport (
Despacho ({}, "Informe de partición", FrameBox, {Tamaño de marco (480, 56)}),
Despacho ({}, "Candidatos", OutlineBox, {Cerrar (0)})
)
);
Parece que todas las divisiones anteriores se enumeran en la parte de las divisiones iniciales del código. La primera división estaría en la variable: Edad para mi ejemplo. Luego, para el grupo> = 45, no hay más división (los corchetes vacíos). Para la edad <45, esa rama se divide por: RstPulse. Si la siguiente división estuviera en la hoja: RstPulse, entonces sería {: RstPulse> = 60, {newvar> = value}}.
Espero que esto ayude.
Re: Scripting la plataforma de particiónEs posible que desee utilizar el conocimiento del dominio para 'bloquear columnas'. Aquí está el ejemplo de 'Ayuda> Índice de secuencias de comandos':
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 );
En general, el índice de scripts es un buen lugar para comenzar si necesita resolver algo.