Evaluación de modelos de ML - Amazon Machine Learning

Ya no actualizamos el servicio Amazon Machine Learning ni aceptamos nuevos usuarios para él. Esta documentación está disponible para los usuarios actuales, pero ya no la actualizamos. Para obtener más información, consulte Qué es Amazon Machine Learning.

Evaluación de modelos de ML

Siempre debe evaluar un modelo para determinar si realizará un buen trabajo de predicción para nuevos y futuros datos de destino. Dado que las futuras instancias tienen valores de destino desconocidos, debe comprobar la métrica de precisión del modelo de ML en relación con los datos de los que ya sabe la respuesta de destino y utilizar esta comprobación como proxy de precisión predictiva para futuros datos.

Para poder evaluar un modelo correctamente, separe una muestra de datos que han sido etiquetados con el destino (dato real) de la fuente de datos de entrenamiento. Evaluar la precisión predictiva de un modelo de ML con los mismos datos que se han utilizado para el entrenamiento no es útil, ya que compensa a los modelos que pueden "recordar" los datos de entrenamiento en lugar de generalizar. Una vez que haya entrenado el modelo de ML, envíe al modelo las observaciones separadas para las que conoce los valores de destino. A continuación, compare las predicciones devueltas por el modelo de ML con el valor de destino conocido. Por último, genere una métrica de resumen que indique la efectividad de la predicción y la coincidencia de valores reales.

En Amazon ML, evalúe un modelo de ML mediante la creación de una evaluación. Para realizar una evaluación de un modelo de ML, necesita el modelo de ML que desea evaluar, y también datos etiquetados que no se hayan utilizado para el entrenamiento. En primer lugar, cree una fuente de datos para la evaluación mediante la creación de una fuente de datos de Amazon ML con los datos separados. Los datos utilizados en la evaluación deben tener el mismo esquema que los utilizados en el entrenamiento e incluir valores reales para la variable de destino.

En el caso de que todos los datos se encuentren en un único archivo o directorio, puede utilizar la consola de Amazon ML para dividirlos. La ruta predeterminada del asistente para la creación de un modelo de ML divide la fuente de datos de entrada y utiliza el primer 70 % para una fuente de datos de entrenamiento y el 30 % restante para una fuente de datos de evaluación. También puede personalizar las proporciones de la división con la opción Custom (Personalizado) del asistente para la creación de un modelo de ML. Esta opción le permitirá seleccionar una muestra aleatoria del 70 % para el entrenamiento y utilizar el 30 % restante para la evaluación. Para especificar proporciones de división personalizadas, utilice la cadena de reorganización de datos de la API Create Datasource. Una vez que tenga una fuente de datos de evaluación y un modelo de ML, podrá realizar una evaluación y revisarlos resultados obtenidos.

Prevención del sobreajuste

Al crear y entrenar un modelo de ML, el objetivo es seleccionar el modelo que realice las mejores predicciones, lo cual significa seleccionar el modelo con la mejor configuración (configuración o hiperparámetros del modelo de ML). En Amazon Machine Learning, pueden establecerse cuatro hiperparámetros: número de iteraciones, regularización, tamaño de modelo y tipo de reorganización. Sin embargo, si selecciona la configuración de parámetros del modelo que presenta el "mejor" rendimiento predictivo en los datos de evaluación, es posible que dicho modelo se sobreajuste. El sobreajuste ocurre cuando un modelo tiene patrones memorizados que aparecen en las fuentes de datos de entrenamiento y evaluación, pero falla al generalizar los patrones de los datos. Esto ocurre a menudo cuando los datos de entrenamiento incluyen todos los datos utilizados en la evaluación. Un modelo sobreajustado es efectivo durante las evaluaciones, pero falla en la elaboración de predicciones precisas sobre datos no vistos anteriormente.

Para evitar seleccionar un modelo sobreajustado como mejor modelo, puede reservar datos adicionales para validar el rendimiento del modelo de ML. Por ejemplo, puede dividir los datos en un 60 % para el entrenamiento, un 20 % para la evaluación y un 20 % adicional para la validación. Después de seleccionar los parámetros del modelo que funcionan bien para los datos de evaluación, ejecute una segunda evaluación con los datos de validación para ver el rendimiento de ML en la validación de los datos. Si el modelo cumple sus expectativas en relación con los datos de validación, entonces el modelo no estará sobreajustando a los datos.

El uso de un tercer conjunto de datos para la validación permite seleccionar los parámetros del modelo de ML adecuados para evitar el sobreajuste. Sin embargo, la separación de los datos del proceso de entrenamiento tanto para la evaluación como para la validación hace que haya menos datos disponibles para el entrenamiento. Esto resulta un problema, especialmente para conjuntos de datos pequeños, porque siempre es mejor utilizar el mayor número de datos posible para el entrenamiento. Para solucionarlo, puede utilizar la validación cruzada. Para obtener más información sobre la validación cruzada, consulte Validación cruzada.