Modelo de validación cruzada

Importante

El soporte técnico de Machine Learning Studio (clásico) finalizará el 31 de agosto de 2024. Se recomienda realizar la transición a Azure Machine Learning antes de esa fecha.

A partir del 1 de diciembre de 2021 no se podrán crear recursos de Machine Learning Studio (clásico). Hasta el 31 de agosto de 2024, puede seguir usando los recursos de Machine Learning Studio (clásico) existentes.

La documentación de ML Studio (clásico) se está retirando y es posible que no se actualice en el futuro.

Valida de forma cruzada las estimaciones de parámetros para los modelos de clasificación o regresión mediante la creación de particiones de los datos

Categoría: Machine Learning/Evaluar

Nota:

Solo se aplica a: Machine Learning Studio (clásico)

Hay módulos para arrastrar y colocar similares en el diseñador de Azure Machine Learning.

Información general sobre el módulo

En este artículo se describe cómo usar el módulo Validar modelo de forma cruzada en Machine Learning Studio (clásico). La validación cruzada es una técnica importante que se usa a menudo en el aprendizaje automático para evaluar la variabilidad de un conjunto de datos y la confiabilidad de cualquier modelo entrenado con esos datos.

El módulo Validar modelo de forma cruzada toma como entrada un conjunto de datos etiquetado, junto con un modelo de clasificación o regresión sin entrenar. Divide el conjunto de datos en varios subconjuntos (plegamientos), crea un modelo en cada plegamiento y, a continuación, devuelve un conjunto de estadísticas de precisión para cada plegamiento. Al comparar las estadísticas de precisión de todos los plegamientos, puede interpretar la calidad del conjunto de datos y comprender si el modelo es susceptible a variaciones de los datos.

La validación cruzada también devuelve probabilidades y resultados previstos para el conjunto de datos, de modo que pueda evaluar la confiabilidad de las predicciones.

Funcionamiento de la validación cruzada

  1. La validación cruzada divide aleatoriamente los datos de entrenamiento en varias particiones, también denominadas plegamientos.

    • El algoritmo se establece de forma predeterminada en 10 plegamientos si no ha particionado previamente el conjunto de datos.
    • Para dividir el conjunto de datos en un número diferente de plegamientos, puede usar el módulo de partición y ejemplo e indicar cuántos plegamientos quiere usar.
  2. El módulo reserva los datos del plegamiento 1 para la validación (se denomina a veces plegamiento de datos de exclusión) y usa los plegamientos restantes para entrenar un modelo.

    Por ejemplo, al crear cinco plegamientos, el módulo generaría cinco modelos durante la validación cruzada, con cada uno de los modelos entrenado con 4/5 de los datos y probado con el 1/5 restante.

  3. Durante las pruebas del modelo para cada plegamiento, se evalúan varias estadísticas de precisión. Las estadísticas que se usan dependen del tipo de modelo que se está evaluando. Se usan estadísticas diferentes para evaluar los modelos de clasificación y los modelos de regresión.

  4. Cuando el proceso de creación y evaluación se completa para todos los plegamientos , el modelo de validación cruzada genera un conjunto de métricas de rendimiento y resultados puntuados para todos los datos. Debe revisar estas métricas para ver si un solo plegamiento tiene una precisión especialmente alta o baja.

Ventajas de la validación cruzada

Una manera diferente y muy común de evaluar un modelo es dividir los datos en un conjunto de entrenamiento y prueba mediante Dividir datos y, después, validar el modelo en los datos de entrenamiento. Sin embargo, la validación cruzada ofrece algunas ventajas:

  • La validación cruzada utiliza más datos de prueba.

    La validación cruzada mide el rendimiento del modelo con los parámetros especificados en un espacio de datos mayor. Es decir, la validación cruzada utiliza todo el conjunto de datos de entrenamiento para el entrenamiento y la evaluación, en lugar de una parte. Por el contrario, si valida un modelo usando los datos generados de una división aleatoria, se suele evaluar el modelo solo con un 30 % o menos de los datos disponibles.

    Sin embargo, dado que la validación cruzada entrena y valida el modelo varias veces con un conjunto de datos mayor, es mucho más intensivo a nivel computacional y tarda mucho más tiempo que la validación con una división aleatoria.

  • La validación cruzada evalúa el conjunto de datos y el modelo.

    La validación cruzada no solo mide la precisión de un modelo, sino que también ofrece alguna idea sobre lo representativo que es el conjunto de datos y el grado de sensibilidad del modelo a las variaciones en los datos.

Cómo usar el modelo de validación cruzada

Hay dos maneras principales de usar la validación cruzada.

La validación cruzada puede tardar mucho tiempo en ejecutarse si se usan muchos datos. Por lo tanto, puede usar El modelo de validación cruzada en la fase inicial de la creación y prueba del modelo, para evaluar la calidad de los parámetros del modelo (suponiendo que el tiempo de cálculo sea tolerable) y, a continuación, entrenar y evaluar el modelo mediante los parámetros establecidos con los módulos Entrenar modelo y Evaluar modelo.

Validación cruzada simple

En este escenario, se entrena y se prueba el modelo con el módulo Cross Validate Model (Modelo de validación cruzada).

  1. Agregue el módulo Cross Validate Model (Validar modelo) al experimento. Puede encontrarlo en Machine Learning Studio (clásico), en la Machine Learning, en Evaluar.

  2. Conectar salida de cualquier modelo de clasificacióno regresión.

    Por ejemplo, si usa una Two Class Bayes Point Machine para la clasificación, configure el modelo con los parámetros que quiera y, a continuación, arrastre un conector del puerto del modelo no entrenado del clasificador al puerto coincidente del módulo Cross Validate Model (Modelo de validación cruzada).

    Sugerencia

    No es necesario entrenar el modelo porque el modelo de validación cruzada lo entrena automáticamente como parte de la evaluación.

  3. En el puerto Conjunto de datos del modelo de validación cruzada, conecte cualquier conjunto de datos de entrenamiento etiquetado.

  4. En el panel Propiedades del módulo Cross Validate Model (Modelo de validación cruzada), haga clic en Launch column selector (Iniciar el selector de columnas) y elija la columna única que contiene la etiqueta de clase o el valor de predicción.

  5. Establezca un valor para el parámetro Valor de inicialización aleatorio si quiere poder repetir los resultados de la validación cruzada en ejecuciones posteriores de los mismos datos.

  6. Ejecute el experimento.

  7. Consulte la sección Resultados para obtener una descripción de los informes.

    Para obtener una copia del modelo para volver a usar más adelante, haga clic con el botón derecho en la salida del módulo que contiene el algoritmo (por ejemplo, la máquina de punto Bayes de dos clases) y haga clic en Guardar como modelo entrenado.

Validación cruzada con un barrido de parámetros

En este escenario, usará Optimizar hiperparámetros del modelo para identificar el mejor modelo realizando un barrido de parámetros y, a continuación, use El modelo de validación cruzada para comprobar su confiabilidad. Esta es la manera más fácil de Machine Learning identificar el mejor modelo y, a continuación, generar métricas para él.

  1. Agregue el conjunto de datos para el entrenamiento del modelo y agregue uno de los módulos de aprendizaje automático que crea un modelo de clasificación o regresión.

  2. Agregue el módulo Optimizar hiperparámetros del modelo al experimento. Puede encontrarlo en la categoría Machine Learning, en Entrenar.

  3. Adjunte el modelo de clasificación o regresión a la entrada de modelo sin entrenar de Optimizar hiperparámetros del modelo.

  4. Agregue el módulo Cross Validate Model (Validar modelo) al experimento. Puede encontrarlo en Machine Learning Studio (clásico), en la Machine Learning, en Evaluar.

  5. Busque la salida trained best model (Mejor modelo entrenado) de Tune Model Hyperparameters (Optimizar hiperparámetros del modelo) y conéctela a la entrada Untrained model (Modelo sin entrenar) de Cross Validate Model (Validar modelo).

  6. Conectar los datos de entrenamiento a la entrada Conjunto de datos de entrenamiento del modelo de validación cruzada.

  7. Ejecute el experimento.

  8. Después de revisar los resultados y las puntuaciones de evaluación, para obtener una copia del mejor modelo para su posterior uso, simplemente haga clic con el botón derecho en el módulo Optimizar hiperparámetros del modelo, seleccione El mejor modelo entrenado y, a continuación, haga clic en Guardar como modelo entrenado.

Nota:

Puede obtener resultados diferentes si usa la entrada en el módulo Optimizar hiperparámetros del modelo para el conjunto de datos de validación opcional.

Esto se debe a que, cuando se usa esta opción, se especifica un conjunto de datos de entrenamiento estático y un conjunto de datos de prueba. Por lo tanto, el proceso de validación cruzada también usa los conjuntos de datos de entrenamiento y pruebas especificados, en lugar de dividir los datos en n grupos para el entrenamiento y las pruebas. Sin embargo, las métricas se generan en una base de n plegables.

Results

Una vez completadas todas las iteraciones , el modelo de validación cruzada crea puntuaciones para todo el conjunto de datos, así como métricas de rendimiento que puede usar para evaluar la calidad del modelo.

Resultados puntuados

La primera salida del módulo proporciona los datos de origen de cada fila, junto con algunos valores de predicción y las probabilidades relacionadas.

Para ver estos resultados, en el experimento, haga clic con el botón derecho en el módulo Validar modelo de forma cruzada, seleccione Resultados puntuados y haga clic en Visualizar.

Nuevo nombre de columna Descripción
Asignaciones de plegado Indica el índice de base 0 del plegamiento al que se asignó cada fila de datos durante la validación cruzada.
Etiquetas puntuadas Esta columna se agrega al final del conjunto de datos y contiene el valor de predicción de cada fila.
Probabilidades puntuadas Esta columna se agrega al final del conjunto de datos e indica la probabilidad estimada del valor en Etiquetas puntuadas.

Evaluation results

El segundo informe se agrupa por plegamientos. Recuerde que, durante la ejecución, el modelo de validación cruzada divide aleatoriamente los datos de entrenamiento en n plegamientos (de forma predeterminada, 10). En cada iteración del conjunto de datos, el modelo de validación cruzada usa un plegado como conjunto de datos de validación y los n-1 plegados restantes para entrenar un modelo. Cada uno de los n modelos se prueba en comparación con los datos de todos los demás plegamientos.

En este informe, los plegamientos se enumeran por valor de índice en orden ascendente. Para ordenar en cualquier otra columna, puede guardar los resultados como un conjunto de datos.

Para ver estos resultados, en el experimento, haga clic con el botón derecho en el módulo Validar modelo de forma cruzada, seleccione Resultados de evaluación por plegado y haga clic en Visualizar.

Nombre de la columna Descripción
Número de plegamiento Identificador de cada plegamiento. Si ha creado 5 plegamientos, debería haber 5 subconjuntos de datos, numerados de 0 a 4.
Número de ejemplos del plegamiento Número de filas asignadas a cada plegamiento. Deben ser aproximadamente iguales.
Modelo Algoritmo utilizado en el modelo, identificado por el nombre de la API

Además, se incluyen las siguientes métricas para cada plegamiento, dependiendo del tipo de modelo que se esté evaluando.

  • Modelos de clasificación: precisión, recuperación, puntuación F, AUC, pérdida media de registros, pérdida del registro de entrenamiento

  • Modelos de regresión: probabilidad negativa del registro, error absoluto medio, error cuadrado medio raíz, error absoluto relativo y coeficiente de determinación

Ejemplos

Para obtener ejemplos de cómo se usa la validación cruzada en el aprendizaje automático, consulte el Azure AI Gallery:

Notas técnicas

  • Se recomienda normalizar los conjuntos de datos antes de usarlos para la validación cruzada.

  • Dado que el modelo de validación cruzada entrena y valida el modelo varias veces, es mucho más intensivo desde el punto de vista computacional y tarda más tiempo en completarse que si valida el modelo mediante un conjunto de datos dividido aleatoriamente.

  • Se recomienda que use Modelo de validación cruzada para establecer la adecuación del modelo dados los parámetros especificados. Use Optimizar hiperparámetros del modelo para identificar los parámetros óptimos.

  • No es necesario dividir el conjunto de datos en conjuntos de entrenamiento y de prueba cuando se usa la validación cruzada para medir la precisión del modelo.

    Sin embargo, si se proporciona un conjunto de datos de validación ascendente, el módulo usa los conjuntos de datos de entrenamiento y pruebas especificados en lugar de dividirse en n plegamientos. Es decir, el primer conjunto de datos se usa para entrenar el modelo para cada combinación de parámetros y los modelos se evalúan en el conjunto de datos de validación. Consulte la sección sobre el uso de un barrido de parámetros con validación cruzada.

  • Aunque en este artículo se usan versiones anteriores de los módulos, tiene una buena explicación del proceso de validación cruzada: Cómo elegir parámetros para optimizar los algoritmos en Machine Learning

Entradas esperadas

Nombre Tipo Descripción
Modelo no entrenado Interfaz ILearner Modelo no entrenado para validación cruzada en conjunto de datos
Dataset Tabla de datos Conjunto de datos de entrada

Parámetros del módulo

Nombre Intervalo Tipo Valor predeterminado Descripción
Columna de etiqueta cualquiera ColumnSelection Seleccionar la columna que contiene la etiqueta que se va a utilizar para validación
Inicialización aleatoria cualquiera Entero 0 Valor de inicialización para el generador de números aleatorios

Este valor es opcional. Si no se especifica

Salidas

Nombre Tipo Descripción
Resultados puntuados Tabla de datos Resultados de puntuación
Resultados de evaluación por iteración Tabla de datos Resultados de evaluación (por iteración y total)

Excepciones

Excepción Descripción
Error 0035 Se produce una excepción si no se proporcionaron características para un usuario o elemento determinado.
Error 0032 Se produce una excepción si el argumento no es un número.
Error 0033 Se produce una excepción si el argumento es infinito.
Error 0001 Se produce una excepción si no se encontraron una o más columnas especificadas del conjunto de datos.
Error 0003 Se produce una excepción si una o varias de las entradas son NULL o están vacías.
Error 0006 Se produce una excepción si el parámetro es mayor o igual que el valor especificado.
Error 0008 Se produce una excepción si el parámetro no se encuentra en el intervalo.
Error 0013 Se produce una excepción si el aprendiz que se pasa al módulo tiene un tipo no válido.

Para obtener una lista de errores específicos de los módulos de Studio (clásico), consulte Machine Learning códigos de error.

Para obtener una lista de excepciones de API, consulte Machine Learning códigos de error de la API REST.

Consulte también

Evaluate
Evaluate Recommender (Evaluar recomendador)
Lista de módulos A-Z