Necesito ayuda con el script jsl: intento eliminar filas aleatorias para las pruebas de validación del modelo y usar el resto de las filas para la creación del modeloHola. Estoy intentando ajustar una ecuación de regresión con un 80 % aleatorio de datos y, usando la ecuación modelada resultante, analizar el 20 % restante de los datos con el modelo y guardar los resultados observados y modelados de ese 20 %. Es decir, el 20 % de las filas se utiliza para la validación.
Mi conjunto de datos tiene 227 filas. Quiero entrenar (es decir, desarrollar una ecuación de regresión) usando el 80% de ellas, tras lo cual se ejecutará dicha ecuación en el 20% restante para calcular la relación entre lo observado y lo modelado en ese 20% de filas.
Mi script no funciona correctamente: excluye el 20% de las filas correctamente, pero luego ejecuta el 100% de las filas y las guarda. Muestro el código a continuación, pero he eliminado la parte que calcula diversas métricas sobre los resultados observados y modelados.
Cualquier ayuda sería muy apreciada. (Uso JMP Pro 17.0)
dt = Open("C:\Users\trcampbell\Desktop\MASTER ECOLI\2025\2024.xlsx");
Random_rows = dt << Select Randomly(0.2) << Hide and Exclude();
New Column("Excluded", Numeric, ordinal);
:Excluded << Set Formula(If(Excluded(), 1, 0));
dt << Sort(By(:Excluded), Replace Table, Order(Descending), Copy formula(0));
/////////////......LOG ECOLI VS LOG TURB....LINEAR FIT....../////////////////////
obj = Fit Model(
Y(:LOGECOLI),
Effects(:LOGTURB),
Personality("Standard Least Squares"),
Emphasis("Effect Leverage"),
Run(:LOGECOLI)
);
obj << Prediction Formula;
ref = obj <<
dt << save(
"C:\Users\trcampbell\Desktop\MASTER ECOLI\2025\validation results\test xxxxx1 with 126 and 886.xls"
);Automatización y scriptingAnálisis y modelado de datos básicosRe: Necesito ayuda con un script jsl: intento eliminar filas aleatorias para las pruebas de validación del modelo y usar el resto de filas para la creación del modeloComo tienes JMP Pro, consideraría usar la columna de validación.

Re: Necesito ayuda con un script jsl: intento eliminar filas aleatorias para las pruebas de validación del modelo y usar el resto de filas para la creación del modeloEstás utilizando JMP Pro. ¿Conoces el soporte integrado para la selección de modelos mediante conjuntos de retención de entrenamiento, validación y prueba?
Re: Necesito ayuda con un script jsl: intento eliminar filas aleatorias para las pruebas de validación del modelo y usar el resto de filas para la creación del modeloEjecuté tu JSL en JMP 17, usando la tabla de datos de ejemplo "Capacidad de Semiconductores". El script seleccionó 291 filas de un total de 1455. Las 291 filas seleccionadas se ocultaron y excluyeron.
Luego se ejecutó el modelo de ajuste, y los resultados del modelo de ajuste se basaron solo en las filas no excluidas.

La fórmula de predicción guardada calcula los valores predichos para todas las filas. No discrimina entre filas seleccionadas/excluidas y no seleccionadas/excluidas.
Esta puede ser la fuente del problema que estás viendo.
Re: Necesito ayuda con un script jsl: intento eliminar filas aleatorias para las pruebas de validación del modelo y usar el resto de filas para la creación del modeloGracias, Jim. ¿Hay alguna forma de revisar el script para guardar solo el 20% (conjunto de validación) de las filas?
Re: Necesito ayuda con un script jsl: intento eliminar filas aleatorias para las pruebas de validación del modelo y usar el resto de filas para la creación del modeloHay diferentes maneras de hacer esto.
- En lugar de usar "Seleccionar aleatoriamente", podría usar "Subconjunto" para crear una muestra aleatoria del 80 %. Luego, ejecute el modelo de ajuste y guarde la tabla subdividida.
- Como alternativa, después de ejecutar el script, cree un subconjunto de la tabla en función de la columna Excluida y luego guarde la tabla subconjunta que se produce.
Re: Necesito ayuda con un script jsl: intento eliminar filas aleatorias para las pruebas de validación del modelo y usar el resto de filas para la creación del modeloGracias. Acabo de usar el código de abajo en la línea justo antes de guardar el archivo. Supongo que es correcto (es decir, sigue utilizando la fórmula obtenida del 80 % de las filas de entrenamiento).
dt<< Eliminar filas(dt << obtener filas Donde( :Excluido == 0 ));
dt<< Save("C:\\Usuarios\\trcampbell\\Escritorio\\MASTER ECOLI\\2025\\resultados de validación\\filas excluidas.xlsx");
Re: Necesito ayuda con un script jsl: intento eliminar filas aleatorias para las pruebas de validación del modelo y usar el resto de filas para la creación del modelo¡Gracias jthi!
Re: Necesito ayuda con un script jsl: intento eliminar filas aleatorias para las pruebas de validación del modelo y usar el resto de filas para la creación del modeloSí, muchas gracias.