Cada paciente tiene muchas imágenes en el conjunto de datos. Un k-fold aleatorio da una exactitud de 0,97, pero en un hospital nuevo el modelo saca 0,80. ¿Qué deberías cambiar?
Opciones
- Añadir más árboles
- Subir k a 20
- Quitar la regularización
- Usar una división por grupos como
GroupKFold, para que ningún paciente esté a la vez en entrenamiento y validación (Opción correcta)
Respuesta
Usar una división por grupos como GroupKFold, para que ningún paciente esté a la vez en entrenamiento y validación
Por qué
Las imágenes del mismo paciente se parecen mucho. Con una división aleatoria, el modelo ve al mismo paciente en entrenamiento y en validación, así que puede reconocer al paciente en lugar de la enfermedad. Eso es fuga entre filas.
Las divisiones por grupos mantienen todas las filas de un grupo (paciente, usuario, dispositivo) en un solo lado.
La validación debe imitar el uso real: pacientes nuevos, hospitales nuevos.
Recuerda
Divide por grupos cuando las filas no son independientes.