Cómo usar JSL para convertir la fórmula de etiqueta de hoja de partición del árbol de decisión en un formulario que se pueda usar en la fórmula JMP?Fórmula faltante con datos con valor faltante formados por el modelo de Partición, cómo convertir JSL en un formulario que se pueda usar en la fórmula JMP.
ab>=-14&P1>=174.1&EVk<34341 or Missing&xyz<214.98 or Missing&EVk<154 or Missing&P1>=1741
dentro
:ab >= -14 & :P1 >= 1741 & (:EVk < 154 | Is Missing( :EVk )) & (:xyz < 214.98 | Is Missing( :xyz ))
¡Gracias!
ScriptingRe: Cómo usar JSL para convertir la fórmula de etiqueta de hoja de partición del árbol de decisión en un formulario que se puede usar en la fórmula JMP?Aquí "AB", "P1" y "EVk" son particiones varias veces. ¿Cómo se pueden mantener solo los parámetros válidos?
¿Y cómo girar automáticamente
"EVk <154 o falta"
dentro
": EVk <154 | falta (: EVk)"?
Re: Cómo usar JSL para convertir la fórmula de etiqueta de hoja de partición del árbol de decisión en un formulario que se puede usar en la fórmula JMP?Entonces, si guarda el modelo de partición ajustado, ES una fórmula de columna.
Re: Cómo usar JSL para convertir la fórmula de etiqueta de hoja de partición del árbol de decisión en un formulario que se puede usar en la fórmula JMP?Simplemente guarde la fórmula de predicción como una fórmula de columna después de seleccionar el modelo de partición.
Re: Cómo usar JSL para convertir la fórmula de etiqueta de hoja de partición del árbol de decisión en un formulario que se puede usar en la fórmula JMP?Gracias markbailey!
Pero he tratado de copiar la fórmula de la etiqueta de la hoja y calcularla como una fórmula normal, lo cual está mal.
Por ejemplo:
dt<<NEW column="">=-14&:P1>=1741&:xyz<214.98 or Missing&:EVk<154 or Missing));dt<<RUN formulas=""></RUN></NEW>
Re: Cómo usar JSL para convertir la fórmula de etiqueta de hoja de partición del árbol de decisión en un formulario que se puede usar en la fórmula JMP?Sí, ese código está mal. Ese código no es lo que se guarda como una fórmula para las etiquetas de las hojas. Copiaste incorrectamente lo que quieres de la fórmula y pegaste el código incorrecto en tu script.
Aquí hay un ejemplo que copió la fórmula guardada para las etiquetas de las hojas al pie de la letra y la pegó como argumento para el argumento Fórmula () para la nueva columna:
Names Default To Here( 1 );
// open an example
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// create a new column for character data and populate it with formula based on a
// previously saved formula for leaf labels.
dt << New Column( "Text",
Character,
Formula(
If( !Is Missing( :height ) & :height >= 63,
If( !Is Missing( :height ) & :height >= 67,
"height>=63&height>=67",
"height>=63&height<67"
),
"height<63"
)
)
);Re: Cómo usar JSL para convertir la fórmula de etiqueta de hoja de partición del árbol de decisión en un formulario que se puede usar en la fórmula JMP?sí. También sé que puede usar la "fórmula de predicción" directamente. Pero esta fórmula de predicción es tan global, tan grande y tan compleja que es inconveniente usarla en otros archivos.
La "fórmula de la etiqueta de la hoja" es precisa, pero la fórmula de la etiqueta de la hoja producida automáticamente por el modelo de "Partición" no se puede usar directamente.
Así que transferí estas fórmulas de etiqueta de hoja a Excel usando VBA para convertirlas automáticamente en un formulario que se puede usar en fórmulas JMP.
Pero esta operación utilizará todo el proceso de operación no puede ser completamente automatizado.
Gracias markbailey!
Re: Cómo usar JSL para convertir la fórmula de etiqueta de hoja de partición del árbol de decisión en un formulario que se puede usar en la fórmula JMP?Por lo tanto, quiero saber cómo usar JSL para convertir estas fórmulas de etiqueta de hoja en la forma utilizable de fórmula JMP () formu.Re: Cómo usar JSL para convertir la fórmula de etiqueta de hoja de partición del árbol de decisión en un formulario que se puede usar en la fórmula JMP?Creo que estamos confundidos porque la columna Fórmula de la etiqueta de la hoja ya tiene una fórmula detrás. No necesitas convertir nada. ¿Puedes explicar más claramente exactamente los pasos que quieres hacer?

Re: Cómo usar JSL para convertir la fórmula de etiqueta de hoja de partición del árbol de decisión en un formulario que se puede usar en la fórmula JMP?Por supuesto, el texto de la columna de fórmula de la etiqueta de la hoja no se puede calcular directamente de esta manera.

Re: Cómo usar JSL para convertir la fórmula de etiqueta de hoja de partición del árbol de decisión en un formulario que se puede usar en la fórmula JMP?Gracias Jeff!
Desde que obtuve estas fórmulas de etiqueta de hoja que no se usaron en el archivo original.
Así que simplemente eliminé la fórmula de la columna de fórmula de etiqueta de hoja, obtuve solo el texto y agrupé el texto de las diferentes fórmulas de etiqueta de hoja en un archivo.
Estas fórmulas de etiqueta de hoja de texto se usan para calcular otros datos usando JSL, así que tengo este problema de conversión.
Re: Cómo usar JSL para convertir la fórmula de etiqueta de hoja de partición del árbol de decisión en un formulario que se puede usar en la fórmula JMP?¿Está diciendo que alguien ya hizo un análisis y ya no puede reproducir el modelo original, y ahora está intentando volver a crear la fórmula a partir de los datos que se exportaron a Excel? Si es posible, sería mucho más fácil construir el mismo modelo nuevamente en JMP y luego exportar la columna de fórmula directamente. En el futuro, para cualquier modelo nuevo creado, siempre exportaría esa columna de hoja para que no tenga que lidiar con esto nuevamente. Si realmente necesita volver a crear la fórmula y no puede simplemente escribirla 'fuerza bruta' mientras se refiere a su archivo de Excel (supongo que sería más rápido para alguien que no esté familiarizado con las secuencias de comandos a menos que tenga cientos de términos), entonces podría usar las fórmulas sustitutivas (simples) o expresiones regulares (complejas) para convertir el texto sin formato en una fórmula Eso suena como un dolor y creo que todo el mundo está diciendo que lo evites si puedes.
O, ¿está intentando crear un conjunto de columnas para cada hoja posible con valores verdaderos / falsos que indiquen si esa fila en cada hoja? En este caso, aún guardaría la fórmula de la hoja y luego crearía nuevas columnas con una fórmula que verificara si la etiqueta de la hoja coincide con una cadena de texto.
Re: Cómo usar JSL para convertir la fórmula de etiqueta de hoja de partición del árbol de decisión en un formulario que se puede usar en la fórmula JMP?
Sí, todavía no he encontrado estas fórmulas de etiqueta de hoja que se obtienen usando JSL para dividir automáticamente diferentes archivos en un solo archivo y guardarlos en forma de fórmulas. Si elimina el factor X, eliminará la fórmula.
¡Gracias!
Re: Cómo usar JSL para convertir la fórmula de etiqueta de hoja de partición del árbol de decisión en un formulario que se puede usar en la fórmula JMP?Ahora estoy confundido. ¿Puede decirnos qué está tratando de lograr, incluidas las columnas que espera en las tablas resultantes y los pasos que cree que tomaría para llegar allí?
Re: Cómo usar JSL para convertir la fórmula de etiqueta de hoja de partición del árbol de decisión en un formulario que se puede usar en la fórmula JMP?Presione el siguiente JSL para obtener un archivo de fórmula de etiqueta de hoja no repetitiva T1.
¿Cómo extraer el contenido específico de cada fórmula de etiqueta de hoja de T1 línea por línea en la fórmula "Fórmula1" del archivo T1?
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt[30 :: 35, "height"] = "";
p = Partition( Y( :weight ), X( :age, :sex, :height ), Validation Portion( 0.3 ), Informative Missing( 1 ), split Best( 2 ) );
p << save leaf label formula;
p << Close Window;
Wait( 0 );
dt << Sort( By( 6 ), Order( Descending ), replacetable( 1 ) );
dt << Select Where( :Leaf Label Formula != Lag( :Leaf Label Formula, -1 ) );
d3 = dt << Subset( Output Table( "T1" ), Selected Rows( 1 ), selected columns( 0 ) );
Wait( 0 );

Re: Cómo usar JSL para convertir la fórmula de etiqueta de hoja de partición del árbol de decisión en un formulario que se puede usar en la fórmula JMP?Simplemente tome el texto de la columna "Fórmula de etiqueta de hoja" en la tabla "T1" y obtenga el formulario de fórmula correspondiente.
No necesita una fórmula global.
¡Gracias!
Re: Cómo usar JSL para convertir la fórmula de etiqueta de hoja de partición del árbol de decisión en un formulario que se puede usar en la fórmula JMP?¿Podría una de estas opciones funcionar? yo pensar logran lo que estás buscando:
//For each row (leaf of partition) create a new formula column
//indicating whether that row is in that leaf
for(r=1, r<= n row(d3), r++,
Eval(Eval Expr(
d3 << New Column("Is Leaf " || d3:Leaf Label Formula[r], Numeric, "Continuous", Format("Best", 12), Formula(:Leaf Label Formula == Expr(d3:Leaf Label Formula[r])));
));
);
//Or if you want it all in one column (slower if multiple columns):
for(r=1, r<= n row(d3), r++,
Eval(Eval Expr(
d3 << New Column("Alt Is Leaf " || d3:Leaf Label Formula[r], Numeric, "Continuous", Format("Best", 12), Formula(Expr(dt:Leaf Label Formula << Get Formula) == Expr(d3:Leaf Label Formula[r])));
));
);