Datos de entrenamiento vs datos de test

Paloma Recuero de los Santos    28 abril, 2020
Bifurcación

Los algoritmos de Machine Learning aprenden de los datos con los que los entrenamos. A partir de ellos, intentan encontrar o inferir el patrón que les permita predecir el resultado para un nuevo caso. Pero, para poder calibrar si un modelo funciona, necesitaremos probarlo con un conjunto de datos diferente. Por ello, en todo proceso de aprendizaje automático, los datos de trabajo se dividen en dos partes: datos de entrenamiento y datos de prueba o test.

Datos de entrenamiento o “training data”

Los datos de entrenamiento o “training data” son los datos que usamos para entrenar un modelo. La calidad de nuestro modelo de aprendizaje automático va a ser directamente proporcional a la calidad de los datos. Por ello las labores de limpieza, depuración o “data wrangling” consumen un porcentaje importante del tiempo de los científicos de datos.

Datos de prueba, validación o “testing data

Los datos de prueba, validación o “testing data son los datos que nos “reservamos” para comprobar si el modelo que hemos generado a partir de los datos de entrenamiento “funciona”. Es decir, si las respuestas predichas por el modelo para un caso totalmente nuevo son acertadas o no.

Es importante que el conjunto de datos de prueba tenga un volumen suficiente como para generar resultados estadísticamente significativos, y a la vez, que sea representativo del conjunto de datos global.

Normalmente el conjunto de datos se suele repartir en un 70% de datos de entrenamiento y un 30% de datos de test, pero se puede variar la proporción según el caso. Lo importante es ser siempre conscientes de que hay que evitar el sobreajuste u “overfitting”.

(En este post, podéis ver un ejemplo en Python de cómo separar un conjunto de datos en datos de entrenamiento y validación).

Sobreajuste u “overfitting”

El sobreajuste ocurre cuando un modelo está “sobre-entrenado”. Son modelos complejos que se ajusta tan milimétricamente al conjunto de datos a partir del cual se han creado, que pierden gran parte de su poder predictivo, y ya no son útiles para otros conjuntos de datos. Esto se debe a que los datos siempre tienen cierto grado de error o imprecisión, e intentar ajustarse demasiado a ellos, complica el modelo inútilmente al mismo tiempo que le resta utilidad. Lo entenderemos mejor con un ejemplo.

Señal versus ruido

En un conjunto de datos, hay patrones subyacentes que representan la señal que buscamos detectar. Sin embargo, también hay un componente de ruido o aleatoriedad.

Un modelo de aprendizaje automático bien ajustado, es capaz de aprender de la señal e ignorar o minimizar el ruido.

Ejemplo de sobreajuste (línea verde)

Chabacano [CC BY-SA (https://creativecommons.org/licenses/by-sa/4.0)]
Figura 1: Ejemplo de sobreajuste- línea verde (fuente)

La gráfica anterior representa un problema de clasificación binario. El modelo representado por la línea negra parece ser un buen predictor para nuevos casos. Si está a la derecha de la línea, será de clase “azul” y si está a la izquierda, “rojo”.

Por el contrario, la línea verde representa un modelo sobreajustado porque ha aprendido del “ruido”. Como indicamos antes, es un modelo inútilmente complejo, ya que aunque su rendimiento sea mejor para este conjunto de datos en particular, no será “exportable” a otros conjuntos de datos.

Subajuste o underfitting

El underfitting o subajuste es justamente el caso contrario. Ocurre cuando el conjunto de datos de entrenamiento es insuficiente, con ruido en alguna de sus dimensiones o, en definitiva, poco representativo. Como consecuencia, nos lleva a un modelo excesivamente simple, con poco valor predictor.

Por ello, para generar un buen modelo de aprendizaje automático, es importante encontrar el punto medio entre ambas tendencias.

Otra forma de expresar este equilibrio es mediante los conceptos de “Bias vs Varianza”. En este otro post de nuestro blog, os explicamos en detalle en qué consisten estos conceptos y cómo conseguir ese punto de equilibrio (sweet spot) que nos garantice un modelo fiable.

Conclusión

La partición de los datos de trabajo en estos dos conjuntos diferenciados permite generar el modelo a partir de los datos de entrenamiento para después comprobar su eficiencia con los datos reservados para test.

Los resultados de cualquier modelo basado en aprendizaje automático tienen una gran dependencia de los datos a partir de los cuales se han generado. Por ello, es fundamental cuidar su calidad y buscar siempre el equilibrio entre bias y varianza.

Para mantenerte al día con LUCA visita nuestra página web,  suscríbete a LUCA Data Speaks o síguenos en TwitterLinkedIn YouTube.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *