tratando de crear y guardar un subconjunto aleatorio de filas y guardar esto en un script para su uso posteriorEstoy haciendo una gran cantidad de pruebas de validación en un modelo de predicción de regresión múltiple que sigo modificando y me gustaría automatizar parte del proceso de prueba de validación utilizando un script.Hasta ahora, no he podido "guardar en el script" la parte del proceso en la que genero y guardo un subconjunto aleatorio de filas de mi conjunto de datos de entrenamiento para usarlo en las pruebas de validación.
Cuando hago esto manualmente: 1) genero un subconjunto aleatorio de filas (20 por ciento) de mi tabla principal, 2) guardo el subconjunto y 3) elimino esas filas de subconjunto de la tabla principal y guardo la "nueva" tabla principal ( tenga en cuenta que me aseguré de que la tabla de subconjuntos esté vinculada a la tabla principal para permitir este paso).Luego hago el análisis del modelo en la nueva tabla principal y pruebo qué tan bien encajan las filas en la tabla de subconjuntos (es decir, pruebas de validación).
¿Cómo consigo que JMP "registre" esos movimientos en un script?Hasta ahora, no he logrado reconocer esos movimientos.¡Gracias por adelantado!
ScriptingRe: intentar crear y guardar un subconjunto aleatorio de filas y guardar esto en un script para su uso posteriorBusque en la entrada de origen en la tabla de datos del subconjunto y tendrá el jsl para el subconjuntoRe: intentar crear y guardar un subconjunto aleatorio de filas y guardar esto en un script para su uso posteriorHola @Campbell_Ted_R ,
La siguiente secuencia de comandos debería ayudarlo a comenzar donde desea ir. No recomendaría vincular el subconjunto a la tabla principal porque si lo hace, cuando eliminamos esas filas en la tabla principal usando el script, también eliminará las filas en la tabla del subconjunto. De todos modos, esto debería ayudarlo a comenzar en la dirección que desea ir.
Names default to here (1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Random_rows = dt<<SELECT randomly=""></SELECT>
¡Espero que esto ayude!,
DS
Re: intentar crear y guardar un subconjunto aleatorio de filas y guardar esto en un script para su uso posterior¡Perfecto!¿Y hay un comando para nombrar los nuevos archivos (es decir, el nuevo archivo de subconjunto y el nuevo archivo de la tabla principal) dentro del script?Lo ideal sería nombrar los dos archivos nuevos con un número que aumenta secuencialmente cada vez que se ejecuta el script (por ejemplo, subconjunto 1, principal 1 ..... subconjunto 2, principal 2 ..... subconjunto 3, principal 3, ... ..etc) pero no me importa volver a configurarlo manualmente dentro del script si es necesario, ya que esto ya es un gran ahorro de tiempo.
Re: intentar crear y guardar un subconjunto aleatorio de filas y guardar esto en un script para su uso posteriorHola @Campbell_Ted_R ,
Sí, cuando llama a la función Guardar o Guardar como en JSL, puede establecer el nombre. Si hace esto de forma iterativa, puede ponerlo todo dentro de un bucle For más grande y puede hacerlo todo automáticamente por usted. Ahora que pienso en lo que está haciendo con los datos, casi parece que está haciendo algo similar a la validación cruzada de K-fold. Si es así, muchas de las plataformas de ajuste en JMP lo manejarán muy fácilmente. Dependiendo de la plataforma de modelado, puede seleccionarla como una opción de validación cruzada, o puede que tenga que hacer varias columnas de validación de k-fold, como se necesita en XGBoost. De cualquier manera, puede crear una columna de validación con columnas de entrenamiento, validación y prueba, y puede estratificar la columna de validación según la columna de respuesta o las columnas de factores, sin embargo, funciona mejor para su situación.
En una nota al margen, si va a comenzar a crear secuencias de comandos para ahorrar tiempo, le recomiendo que utilice el Índice de secuencias de comandos (Ayuda> Índice de secuencias de comandos) como ayuda. Puede buscar comandos y hay ejemplos de cómo se usa para realizar esas acciones / comandos.
¡Espero que esto ayude!,
DS
Re: tratando de crear y guardar un subconjunto aleatorio de filas y guardarlo en un script para su uso posteriorAntes de continuar, me pregunto si existe alguna ventaja en otro enfoque. Puede usar el estado de fila Excluido en lugar de un subconjunto. Ajustar mínimos cuadrados no incluirá filas excluidas en el entrenamiento del modelo. Puede guardar una fórmula de predicción en una nueva columna y la respuesta prevista de las filas excluidas estará allí.
Además, JMP Pro ofrece una función de análisis de validación para que dichas evaluaciones sean muy fáciles y convenientes.
Re: tratando de crear y guardar un subconjunto aleatorio de filas y guardarlo en un script para su uso posterior¡Gracias Diedrich!Y gracias por sugerir el JSL Script Index para obtener ayuda.Está funcionando perfectamente.