Repaso
English

Estandarizas todas las features con la media y la desviación típica de todo el conjunto de datos, y solo después lo divides en entrenamiento y prueba. ¿Qué está mal?

Opciones

  1. Estadísticos del conjunto de prueba se filtraron al preprocesado, así que la puntuación de prueba puede parecer mejor que la realidad (Opción correcta)
  2. Escalar antes de dividir hace que el modelo sobreajuste
  3. Nada: escalar no aprende nada de las etiquetas
  4. La estandarización siempre debe hacerse después de entrenar

Respuesta

Estadísticos del conjunto de prueba se filtraron al preprocesado, así que la puntuación de prueba puede parecer mejor que la realidad

Por qué

Escalar aprende algo de los datos: la media y la desviación típica. Si incluyen las filas de prueba, información del conjunto de prueba llegó al proceso de entrenamiento. Es fuga de datos.

La solución es ajustar el escalador solo con los datos de entrenamiento y aplicarlo después a los de prueba. Un Pipeline de scikit-learn lo hace por ti, también dentro de la validación cruzada.

Para que haya fuga no hacen falta las etiquetas: cualquier estadístico que mire el conjunto de prueba cuenta.

Recuerda

Ajusta el preprocesado solo con los datos de entrenamiento.

Términos clave

Practica esta pregunta en Repaso