Dividir tus datos

Como demuestra el ejemplo de noticias, una división aleatoria pura no siempre es el enfoque correcto.

Una técnica frecuente para los sistemas en línea es dividir los datos por tiempo de modo que puedas hacer lo siguiente:

  • Recopilar 30 días de datos
  • Entrenar con datos de los días 1-29
  • Evalúe los datos del día 30.

Para los sistemas en línea, los datos de entrenamiento son más antiguos que los datos de entrega, por lo que esta técnica garantiza que el conjunto de validación duplique el retraso entre el entrenamiento y la entrega. Sin embargo, las divisiones basadas en el tiempo funcionan mejor con conjuntos de datos muy grandes, como los que tienen decenas de millones de ejemplos. En proyectos con menos datos, las distribuciones terminan bastante diferentes entre el entrenamiento, la validación y las pruebas.

Recuerda también la falla de la división de datos del proyecto de literatura sobre aprendizaje automático descrito en el Curso intensivo de aprendizaje automático. Los datos fueron escritos por uno de tres autores, por lo que se dividían en tres grupos principales. Debido a que el equipo aplicó una división aleatoria, los datos de cada grupo estaban presentes en los conjuntos de entrenamiento, evaluación y prueba, por lo que el modelo aprendió de la información que no tendría necesariamente en el momento de la predicción. Este problema puede ocurrir cada vez que se agrupan tus datos, ya sea como datos de series temporales o agrupados en función de otros criterios. El conocimiento del dominio puede informarle cómo divide sus datos.

Para una revisión adicional, consulta estos módulos en el Curso intensivo de aprendizaje automático: