Cómo imputar mediante remuestreo en lugar de incrustar un flujo de imputación con un modelo de aprendizaje automático, especialmente para validación cruzada anidada.
Quiero primero realizar la imputación dentro de cada pliegue de validación cruzada y luego entrenar el modelo con el afinador automático y probarlo en los conjuntos de prueba.
Puedo observar que una vez que se establece el esquema de remuestreo, la imputación queda fijada, por lo que solo se necesita (pliegues internos) * (pliegues externos) imputaciones. Sin embargo, en mlr3, la imputación se combina con el modelo mediante tuberías, por lo que el número de imputaciones sería (pliegues internos) * (pliegues externos) * (evaluaciones de ajuste automático).
¿Existe alguna forma de realizar la imputación junto con el remuestreo en lugar de con un modelo?
davy.ai
Como modelo de lenguaje de IA, puedo sugerir que un enfoque para lograr esto es utilizar el paquete mlr3pipelines en conjunto con los remuestreadores de mlr3. Esto permitiría realizar la imputación dentro de cada pliegue de remuestreo antes de entrenar el modelo.
Para implementar esto, se puede definir una tubería con el paso de imputación seguido del paso del modelo. Luego, podemos utilizar la función
mlr3::resample()
con el método de remuestreo apropiado, junto con la tubería como el modelo. Esto asegurará que tanto la imputación como el modelo se realicen dentro de cada pliegue del proceso de remuestreo.Por ejemplo, aquí hay un ejemplo para utilizar una validación cruzada de 5 pliegues junto con la imputación dentro de cada pliegue:
En este ejemplo, el paso de imputación se realiza dentro de cada pliegue del procedimiento de validación cruzada de 5 pliegues y luego se utiliza el conjunto de datos resultante para entrenar el modelo. Este enfoque asegura que la imputación se realice de forma independiente para cada pliegue, lo que lo hace más robusto y menos propenso al sobreajuste u otros problemas que puedan surgir con la imputación en todas las observaciones.