Mensaje de error para red neuronal con filas de validación faltantes: ¿sugiere alguna solución alternativa?Hola comunidad,
Estoy probando varios modelos como parte del bucle JSL en JMP 16, utilizando diferentes columnas de validación para determinar cómo cambian los valores de R2 según los datos utilizados. Cada columna de validación contiene un subconjunto de los datos, con algunos datos faltantes al principio o al final de la columna.
Otros modelos, como Bootstrap, funcionan bien simplemente ignorando los valores faltantes, pero la red neuronal sigue mostrando un mensaje de error (reproducido en el conjunto de datos de muestra JMP, CrimeData).


Puedo solucionar el problema incluyendo una columna de filtro, estableciendo todos los valores faltantes a 0 y no ejecutándolos. Sin embargo, esto requerirá una columna de filtro para cada columna de validación (o la creación/eliminación dinámica de una columna en cada iteración).

Neural(
Y( :Murder Rate ),
X(
:Robbery Rate, :"Agg-Aslt Rate"n, :Burglary Rate, :Larceny Rate,
:MVTheft Rate
),
Validation( :Validation ),
Informative Missing( 0 ),
Fit( NTanH( 3 ) ),
Where( :Filter == 1 )
)
¿Alguien más ha tenido este problema y ha encontrado una solución? ¡Gracias!
Combinación y limpieza de datosModelado predictivo y aprendizaje automáticoRe: Mensaje de error para la red neuronal con filas de validación faltantes: ¿sugerir una solución alternativa?Hola @c_blanken ,
Parecería que su columna de validación no llena todas las filas porque está estratificando su columna de validación en alguna otra columna a la que le faltan datos. Supongo que JMP no sabe cómo lidiar con esas filas en la columna de validación porque faltan datos.
¿Planea modelar un resultado en el que le falten datos? De lo contrario, podría considerar excluir aquellas filas en las que faltan datos; esto es esencialmente lo que está haciendo con la columna de filtro, pero al excluir esas filas, no necesita una nueva columna de filtro para cada columna de validación que prueba. . También puede configurar fácilmente el estado de la fila como Excluir en JSL para que sea automático y no tenga que hacerlo manualmente.
Si aún necesita modelar los datos donde faltan datos, entonces podría considerar no estratificar en ninguna columna y simplemente generar columnas de entrenamiento/validación al azar. JMP asignará cada fila al conjunto de datos adecuado incluso si faltan datos.
¡Espero que esto ayude!,
SD
Re: Mensaje de error para la red neuronal con filas de validación faltantes: ¿sugerir una solución alternativa?Hola @c_blanken ,
Solo para agregar algunos comentarios / observaciones a la gran respuesta de @SDF1 .
- ¿Por qué tiene algunas filas que tienen valores faltantes con respecto a la columna de validación? ¿Se agregaron después de la creación de la columna?
- No me sorprende ver que la plataforma "Bootstrap Forest" puede lidiar con los valores faltantes en la columna de validación, ya que este modelo usa muestras de arranque de los datos de entrenamiento para adaptarse a muchos árboles de decisión. Las redes neuronales y otros métodos usan los datos "tal como están", por lo que es posible que encuentre el mensaje de advertencia que recibe.
En lugar de crear varias columnas de validación para evaluar la influencia de la variabilidad del conjunto de entrenamiento en el rendimiento del modelo, podría haber (al menos) otras 2 opciones interesantes para usted:
1. Crear una "fórmula" Columna de Validación (jmp.com) en lugar de la columna de validación "fija":

Este enfoque tiene dos ventajas:
- Incluso en el caso de la validación estratificada/agrupada, permitirá agregar automáticamente entrenamiento/validación o etiqueta de prueba en la columna de validación para nuevas filas agregadas, según el método de estratificación/agrupación y la relación entre estos conjuntos que haya utilizado.
- En el modelado, también puede probar más fácilmente diferentes remuestreos entre conjuntos de entrenamiento y validación, haciendo clic derecho en las métricas de rendimiento que le gustaría evaluar con varios conjuntos de entrenamiento y validación, haga clic en "Simular" y aquí tendrá la opción para cambiar dentro y fuera de su columna de validación:

Al hacer esto, obtendrá una tabla de datos con todas las simulaciones realizadas en varios conjuntos de entrenamiento y validación, y podrá trazar la variabilidad del rendimiento obtenida con estas simulaciones (aquí para R² en el conjunto de datos de juguete "Boston Housing" con Random Forest):

2. Utilizar el Plataforma modelo de cribado (jmp.com) plataforma con solo el modelo que desea seleccionado y el método de validación que desea (K-folds, K-folds anidados, con la opción de repetirlos o columna de validación), y ejecútelo. Obtendrá acceso al resumen de resultados, pero también a los resultados de los pliegues individuales:

Al seleccionar por ejemplo un pliegue para ejecutar el modelo (aquí probé con el pliegue 3), también aparecerá una nueva columna en su tabla de datos, para saber qué filas de este pliegue se usaron como entrenamiento o validación (0: Entrenamiento, 1: Validación):

Creo que estos métodos te pueden ser útiles, con menos trabajo manual y mayor flexibilidad.