Re: ¿Cómo puedo automatizar y resumir muchas validaciones repetidas en una tabla de salida?Supongo que podría agregar 100 columnas de validación iterando esto:
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"} )
);
Luego ajuste su modelo, iterando a través de cada columna de validación y guardando la tabla de resumen para cada una, guardándolas todas en una carpeta.
Luego abra y concatene los archivos usando varios archivos abiertos.
...o tal vez...
abra su tabla, agregue la columna de validación, ejecute el modelo, guarde el resumen, cierre la tabla sin guardar e itere 100 veces.
Luego, abra varios archivos y concatene las tablas para obtener su resumen general.
Re: ¿Cómo puedo automatizar y resumir muchas validaciones repetidas en una tabla de salida?Gracias por la respuesta,.Como no había escuchado nada, he estado trabajando en mi propia solución que acabo de completar el viernes pasado.
Empiezo como sugieres creando 100 columnas de validación.
Paso por el análisis de cada uno extrayendo la tabla que requiero de cada informe como una tabla de datos.
Incorporo cada tabla a mi archivo maestro, luego cierro el informe y la tabla de datos, por lo que, aunque genero 200 archivos, solo tengo 3 abiertos a la vez.Puedo usar la función Table stack para extraer los datos que necesito de todas las nuevas columnas requeridas al buscar una palabra clave en la columna generada y analizar los datos resultantes.La única parte que no he manejado (lo que salvaría el apilamiento es exportar solo la columna que necesito de la tabla de informes) lo intenté muchas veces pero fallé.
Report( discriminant[1] )[Outline Box("Probabilities to Each Group")] [Table Box (1)] << Make Data Table( "discrim_table " || char(i) );Identifiqué que la tabla del informe se llama "Probabilidades para cada grupo".Estas son 4 columnas en esta tabla (para mis datos) y estoy interesado en extraer la tercera columna llamada "AAAAAA" para fines ciegos como etiqueta.Las propiedades son claras, este es el Cuadro de columnas de la tabla de datos (: AAAA) y este cuadro de columnas está anidado debajo de las "probabilidades de cada grupo".Sé que podría crear una secuencia de comandos para eliminar estas columnas adicionales del archivo maestro, pero esto parece ineficiente.Probé NumberColBox("AAAAA") etc., pero no hay alegría, ¿alguien tiene alguna idea?
Re: ¿Cómo puedo automatizar y resumir muchas validaciones repetidas en una tabla de salida?Hola @TDF ,
Quizás un proceso más fácil para ayudarlo:
1. Crea una columna de validación fórmula (aquí en el conjunto de datos de Big Class):

2. Utilice esta fórmula en el modelo:

3. Dependiendo de dónde/qué le gustaría tener repeticiones del ajuste del modelo, puede hacer clic con el botón derecho en las métricas/estimaciones que desea repetir y hacer clic en "Simular" (en mi ejemplo lo estoy haciendo en el "Parámetro Estimaciones" valores del panel):

Puede especificar la cantidad de muestras que desea y corregir una semilla aleatoria (si desea resultados reproducibles):

4. Después de hacer clic en "Aceptar", el modelo se ajusta 100 veces variando los conjuntos de entrenamiento y validación (según la fórmula de muestreo estratificado), y directamente tiene una tabla de resumen (ver ejemplo adjunto) con los 100 resultados de los modelos , donde luego puede mostrar los resultados gráficamente con las distribuciones (script generado automáticamente en esta tabla) o las plataformas Graph Builder (ejemplo aquí con la plataforma de distribuciones, en las estimaciones de parámetros para intercepción y peso):

Puede crear estos pasos muy fácilmente y luego usar el registro para copiar los scripts generados para automatizar los pasos/análisis.
Espero que esta respuesta te ayude,
Re: ¿Cómo puedo automatizar y resumir muchas validaciones repetidas en una tabla de salida?Gracias Víctor.
Creo que debería haber sido más claro en mi respuesta.He resuelto mi problema y la codificación está completa.
Sería mejor agregar solo las 100 columnas (extraídas de los informes) que necesito, en lugar de extraer tablas completas (400 columnas) y tener que seleccionar cada cuarta columna a partir de la tercera.
Para mí ahora es de interés intelectual, ¿podría extraer columnas específicas de una tabla dentro de un informe?Puede que no sea posible o que sea útil para otros miembros de la comunidad si lo es.
Gracias tanto a Byron como a ti mismo por tomarte el tiempo de publicar opciones útiles.
Re: ¿Cómo puedo automatizar y resumir muchas validaciones repetidas en una tabla de salida?Hola @TDF ,
Perdón por el malentendido, pensé que el caso aún estaba abierto.
Como la discusión se centró en la creación de 100 columnas de validación individuales, pensé que una solución más fácil (y probablemente más elegante) podría ser usar la función "Simular" disponible en cualquier plataforma con la fórmula de la columna de validación, para repetir automáticamente el ajuste del modelo con varios conjuntos de entrenamiento y validación, obtenga acceso a una tabla de resumen que muestra los resultados de estas repeticiones, sin expandir la tabla de datos con muchas columnas de validación y tener que concatenar cada resultado individual manualmente.
Me alegro de que haya encontrado una solución alternativa con las secuencias de comandos.
Con respecto a su pregunta, es posible extraer partes del informe como una tabla de datos: haga clic derecho en el panel/sección que le interesa y luego seleccione "Convertir en tabla de datos" o "Convertir en tabla de datos combinados" (si tiene varias respuestas Por ejemplo). El script se ve así en 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;
)
Pero no veo una opción para seleccionar específicamente algunas columnas de este informe del panel. Mirando las propiedades, tendría que pedir específicamente no mostrar y exportar en la nueva tabla de datos un cierto NumberColBox, por ejemplo:

Tal vez un usuario de Scripter más avanzado pueda ayudar con esta pregunta (si lo entendí bien). O puede ser más simple en la secuencia de comandos agregar directamente algún código para eliminar la columna no útil en función de una propiedad específica (nombre, índice, ...). También hay respuestas interesantes sobre este tema aquí: Resuelto: Script para exportar AIC a una nueva tabla de datos - Comunidad de usuarios de JMP
Espero que esto ayude,
Mis mejores deseos,
¿Cómo puedo automatizar y resumir muchas validaciones repetidas en una tabla de salida?Estoy ejecutando análisis discriminantes y usando una columna de validación estratificada para verificar la calidad de mi modelo.
Dada la naturaleza del trabajo (clasificar orígenes de muestras desconocidas), quiero asegurarme de que el modelo sea sólido.Idealmente, quiero crear 100 columnas de validación, ejecutar el análisis una vez en cada una, luego crear una única tabla de clasificación de resumen; no quiero abrir y copiar manualmente 100 tablas.
Aquí estoy viendo los recuentos de clasificación, pero la solución podría ser combinar cualquier grupo de tablas de salida idénticas.
Estoy ejecutando Pro v16 (puedo actualizar a v17 si facilita la tarea)
Muchas gracias de antemano, 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 )
)
Fusión y limpieza de datosModelado predictivo y aprendizaje automático