Tutorial: Entrenamiento de un modelo de clasificación con aprendizaje automático automatizado sin código en el Estudio de Azure Machine Learning

Aprenda a entrenar un modelo de clasificación con aprendizaje automático automatizado sin código en el Estudio de Azure Machine Learning. Este modelo de clasificación predice si un cliente suscribirá un depósito a plazo fijo con una institución financiera.

Con el aprendizaje automático automatizado, puede automatizar las tareas que requieren mucho tiempo. El aprendizaje automático recorre en iteración rápidamente muchas combinaciones de algoritmos e hiperparámetros para ayudarle a encontrar el mejor modelo según una métrica de éxito de su elección.

En este tutorial no escribirá absolutamente nada de código, usará la interfaz de Estudio de Azure Machine Learning para realizar el entrenamiento. Aprenderá a realizar las siguientes tareas:

  • Cree un área de trabajo de Azure Machine Learning.
  • Ejecución de un experimento de aprendizaje automático automatizado.
  • Explore los detalles del modelo.
  • Implemente el modelo recomendado.

Pruebe también el aprendizaje automático automatizado para estos otros tipos de modelos:

Prerrequisitos

  • Suscripción a Azure. Si no tiene una suscripción a Azure, cree una cuenta gratuita.

  • Descargue el archivo de datos bankmarketing_train.csv. La columna y indica si un cliente se ha suscrito a un depósito a plazo fijo, que se identifica más adelante como la columna de destino para las predicciones de este tutorial.

Crear un área de trabajo

Un área de trabajo de Azure Machine Learning es un recurso básico de la nube que se usa para experimentar, entrenar e implementar modelos de aprendizaje automático. Vincula la suscripción y el grupo de recursos de Azure con un objeto fácilmente consumido del servicio.

En este tutorial, complete los pasos siguientes para crear un área de trabajo y continuar con el tutorial.

  1. Inicie sesión en Azure Machine Learning Studio.

  2. Seleccione Crear área de trabajo

  3. Especifique la siguiente información para configurar la nueva área de trabajo:

Campo Descripción
Nombre del área de trabajo Escriba un nombre único que identifique el área de trabajo. Los nombres deben ser únicos en el grupo de recursos. Utilice un nombre que sea fácil de recordar y que se diferencie del de las áreas de trabajo creadas por otros. El nombre del área de trabajo no distingue mayúsculas de minúsculas.
Suscripción Seleccione la suscripción de Azure que quiera usar.
Resource group Use un grupo de recursos existente en su suscripción o escriba un nombre para crear un nuevo grupo de recursos. Un grupo de recursos almacena los recursos relacionados con una solución de Azure. Necesita el rol colaborador o propietario para usar un grupo de recursos existente. Para obtener más información sobre el acceso, consulte Administración del acceso a un área de trabajo de Azure Machine Learning.
Region Seleccione la región de Azure más cercana a los usuarios y los recursos de datos para crear el área de trabajo.
  1. Seleccione Crear para crear el área de trabajo

Para saber más sobre los recursos de Azure, consulte los pasos descritos en este artículo: Creación de recursos que necesita para empezar.

Para otras formas de crear un área de trabajo en Azure, administre áreas de trabajo de Azure Machine Learning en el portal o con el SDK de Python (v2).

Creación de un trabajo de Machine Learning automatizado

Lleve a cabo los siguientes pasos de configuración y ejecución del experimento a través de Azure Machine Learning Studio en https://ml.azure.com, una interfaz web consolidada que incluye herramientas de aprendizaje automático para llevar a la práctica escenarios de ciencia de datos para los profesionales de ciencia de datos de todos los niveles de conocimiento. Studio no se admite en los exploradores Internet Explorer.

  1. Seleccione la suscripción y el área de trabajo que ha creado.

  2. Seleccione Automated ML (ML automatizado) en la sección Authoring (Creación), en el panel de la izquierda.

    Como es su primer experimento de aprendizaje automático automatizado, verá una lista vacía y vínculos a la documentación.

    Get started page

  3. Seleccione +New automated ML job (+Nuevo trabajo de ML automatizado).

Creación y carga de un conjunto de datos como un recurso de datos

Antes de configurar el experimento, cargue el archivo de datos en el área de trabajo en forma de recurso de datos de Azure Machine Learning. En el caso de este tutorial, puede considerar un recurso de datos como su conjunto de datos para el trabajo de AutoML. Así podrá asegurarse de que los datos tienen el formato adecuado para el experimento.

  1. Cree un nuevo recurso de datos; para ello, seleccione Desde archivos locales en la lista desplegable + Crear recurso de datos.

    1. En el formulario Información básica, asígnele un nombre al conjunto de datos y, si lo desea, incluya una descripción. Actualmente, la interfaz de aprendizaje automático automatizado solo admite TabularDatasets, por lo que el valor predeterminado del tipo de conjunto de datos es Tabular.

    2. Seleccione Next (Siguiente) en la parte inferior izquierda.

    3. En el formulario Datastore and file selection (Selección del archivo y el almacén de datos), seleccione el almacén de archivos predeterminado que se configuró automáticamente durante la creación del área de trabajo, workspaceblobstore (Azure Blob Storage) . Aquí es donde se cargará el archivo de datos para que esté disponible en el área de trabajo.

    4. Seleccione Cargar archivos en el menú desplegable Cargar.

    5. Seleccione el archivo bankmarketing_train.csv en el equipo local. Este es el archivo que descargó como requisito previo.

    6. Seleccione Siguiente en la parte inferior izquierda para cargarlo en el contenedor predeterminado que se configuró automáticamente durante la creación del área de trabajo.

      Una vez completada la carga, el formulario de configuración y vista previa se rellena de forma inteligente en función del tipo de archivo.

    7. Compruebe que los datos tienen el formato correcto a través del formulario Esquema. Los datos deben rellenarse de la siguiente manera. Después de comprobar que los datos son precisos, seleccione Siguiente.

      Campo Descripción Valor para el tutorial
      Formato de archivo Define el diseño y el tipo de datos almacenados en un archivo. Delimitado
      Delimitador Uno o más caracteres para especificar el límite entre regiones independientes en texto sin formato u otros flujos de datos. Coma
      Encoding Identifica qué tabla de esquema de bit a carácter se va a usar para leer el conjunto de elementos. UTF-8
      Encabezados de columna Indica cómo se tratarán los encabezados del conjunto de datos, si existen. Todos los archivos tienen los mismos encabezados
      Omitir filas Indica el número de filas, si hay alguna, que se omiten en el conjunto de datos. None
    8. El formulario Scheme (Esquema) permite una configuración adicional de los datos para este experimento. En este ejemplo, seleccione el conmutador de alternancia de la característica day_of_week para excluirla. Seleccione Siguiente. Schema form

    9. En el formulario Confirm details (Confirmar detalles), compruebe que la información coincide con lo rellenado anteriormente en los formularios Basic info (Información básica), Datastore and file selection (Selección del archivo y el almacén de datos) y Settings and preview (Configuración y vista previa).

    10. Seleccione Create (Crear) para completar la creación del conjunto de datos.

    11. Seleccione el conjunto de datos cuando aparezca en la lista.

    12. Revise los datos seleccionando el recurso de datos y examinando la pestaña de vista previa que se rellena para asegurarse de que no incluyó day_of_week, seleccione Cerrar.

    13. Seleccione Siguiente.

Configurar trabajo

Una vez cargados y configurados los datos, puede configurar el experimento. Este programa de instalación incluye tareas de diseño de experimentos, como la selección del tamaño del entorno de proceso y la especificación de la columna que se quiere predecir.

  1. Seleccione el botón de opción Crear nuevo.

  2. Rellene el formulario Configure job (Configurar trabajo) como se indica a continuación:

    1. Escriba el nombre del experimento: my-1st-automl-experiment.

    2. Seleccione y como la columna de destino en la que desea realizar las predicciones. Esta columna indica si el cliente se suscribió a un depósito a plazo o no.

    3. Seleccione clúster de proceso como tipo de proceso.

    4. Un destino de proceso es un entorno de recursos locales o en la nube que se usa para ejecutar el script de entrenamiento o para hospedar la implementación de un servicio. Para este experimento, puede probar un proceso sin servidor basado en la nube (versión preliminar) o crear su propio proceso basado en la nube.

      1. Para usar un proceso sin servidor, habilite la característica en vista previa (GB), seleccione Sin servidor y omita el resto de este paso.
      2. Para crear su propio destino de proceso, seleccione +Nuevo para configurar el destino de proceso.
        1. Rellene el formulario Seleccionar máquina virtual para configurar el proceso.

          Campo Descripción Valor para el tutorial
          Location La región desde la que desea ejecutar la máquina Oeste de EE. UU. 2
          Nivel de máquina virtual Seleccione qué prioridad debe tener el experimento. Dedicado
          Tipo de máquina virtual Seleccione el tipo de máquina virtual del proceso. CPU (Unidad central de procesamiento)
          Tamaño de la máquina virtual Seleccione el tamaño de la máquina virtual para el proceso. Se proporciona una lista de los tamaños recomendados en función de los datos y el tipo de experimento. Standard_DS12_V2
        2. Seleccione Siguiente para rellenar el formulario Parámetros de configuración.

          Campo Descripción Valor para el tutorial
          Nombre del proceso Un nombre único que identifique el contexto del proceso. automl-compute
          Nodos mín./máx. Para generar perfiles de datos, debe especificar uno o más nodos. Número mínimo de nodos: 1
          Número máximo de nodos: 6
          Segundos de inactividad antes de la reducción vertical Tiempo de inactividad antes de que el clúster se reduzca verticalmente de manera automática hasta el número mínimo de nodos. 120 (valor predeterminado)
          Configuración avanzada Valores para configurar y autorizar una red virtual para el experimento. None
        3. Seleccione Crear para crear el destino de proceso.

          Tarda unos minutos en completarse.

          Settings page

        4. Después de la creación, seleccione el nuevo destino de proceso en la lista desplegable.

    5. Seleccione Next (Siguiente).

  3. En el formulario Select task and settings (Configuración y selección de tarea), realice la configuración del experimento de aprendizaje automático automatizado especificando el tipo de tarea de aprendizaje automático y los valores de configuración.

    1. Seleccione Classification (Clasificación) como tipo de tarea de aprendizaje automático.

    2. Seleccione View additional configuration settings (Ver opciones de configuración adicionales) y rellene los campos como se indica a continuación. Esta configuración es para controlar mejor el trabajo de entrenamiento. De lo contrario, los valores predeterminados se aplican en función de la selección y los datos del experimento.

      Configuraciones adicionales Descripción Valor para el tutorial
      Métrica principal Métrica de evaluación por la que se medirá el algoritmo de aprendizaje automático. AUC_weighted
      Explicación del mejor modelo Muestra automáticamente la posible explicación relativa al mejor modelo creado mediante ML automatizado. Habilitar
      Algoritmos bloqueados Algoritmos que desea excluir del trabajo de entrenamiento. None
      Configuración de clasificación adicional Esta configuración ayuda a mejorar la precisión del modelo. Etiqueta de clase positiva: None
      Criterios de exclusión Si se cumplen los criterios, se detiene el trabajo de entrenamiento. Tiempo de trabajo de entrenamiento (horas): 1
      Umbral de puntuación de métrica: Ninguno
      Simultaneidad Número máximo de iteraciones paralelas ejecutadas por iteración Número máximo de iteraciones simultáneas: 5

      Seleccione Guardar.

    3. Seleccione Next (Siguiente).

  4. En el formulario [Opcional] Validar y probar,

    1. Seleccione la validación cruzada de k iteraciones como tipo de validación.
    2. Seleccione 2 como su número de validaciones cruzadas.
  5. Para ejecutar el experimento, seleccione Finalizar. La pantalla Job Detail (Detalles del trabajo) se abrirá con Job status (Estado de trabajo) al comenzar la preparación del experimento. Este estado se actualiza a medida que el experimento progresa. También aparecen notificaciones en la esquina superior derecha de Studio, para informarle del estado de su experimento.

Importante

La preparación necesita de 10 a 15 minutos en preparar la ejecución del experimento. Una vez que se ejecuta, se tarda de 2 a 3 minutos más para cada iteración.

En producción, probablemente puede descansar un poco. Pero para este tutorial se recomienda empezar por explorar los algoritmos probados de la pestaña Models (Modelos) que se completan mientras los demás siguen en ejecución.

Exploración de modelos

Vaya a la pestaña Models (Modelos) para ver los algoritmos (modelos) probados. De forma predeterminada, los modelos se ordenan por puntuación de las métricas a medida que se completan. De manera predeterminada, el modelo con la mayor puntuación según la métrica AUC_weighted elegida aparece en la parte superior de la lista.

Mientras espera a que terminen todos los modelos del experimento, seleccione Algorithm name (Nombre de algoritmo) de un modelo completado para explorar los detalles de rendimiento.

A continuación, se desplazará a las pestañas Details (Detalles) y Metrics (Métricas) para ver las propiedades, las métricas y los gráficos de rendimiento del modelo seleccionado.

Run iteration detail

Explicaciones del modelo

Mientras espera a que terminen los modelos, puede echar un vistazo a las explicaciones de estos y ver qué características de datos (sin o con diseño) han influido en las predicciones de un modelo determinado.

Estas explicaciones del modelo se pueden generar a petición y se resumen en el panel de explicaciones del modelo que forma parte de la pestaña Explicaciones (versión preliminar).

Para generar explicaciones del modelo:

  1. Seleccione Job 1 (Trabajo 1) en la parte superior para volver a la pantalla Models (Modelos).

  2. Seleccione la pestaña Modelos.

  3. En este tutorial, seleccione el primer modelo MaxAbsScaler, LightGBM.

  4. Seleccione el botón Explicar modelo de la parte superior. A la derecha aparece el panel Explicar modelo.

  5. Seleccione automl-compute, que ha creado anteriormente. Este clúster de proceso inicia un trabajo secundario para generar las explicaciones del modelo.

  6. Seleccione Crear en la parte inferior. Aparece un mensaje de éxito verde en la parte superior de la pantalla.

    Nota

    El trabajo de la explicación tarda entre dos y cinco minutos en terminar.

  7. Seleccione el botón Explicaciones (versión preliminar) . Esta pestaña se rellena una vez completada la ejecución de la explicación.

  8. En el lado izquierdo, expanda el panel y seleccione la fila que indica Sin diseño en Características.

  9. Seleccione la pestaña Agregar importancia de la característica de la derecha. Este gráfico muestra qué características de datos han influido en las predicciones del modelo seleccionado.

    En este ejemplo, la duración parece haber influido más en las predicciones de este modelo.

    Model explanation dashboard

Implementación del mejor modelo

La interfaz del aprendizaje automático automatizado permite implementar el mejor modelo como un servicio web en pocos pasos. La implementación es la integración del modelo para que pueda predecir datos nuevos e identificar posibles áreas de oportunidad.

En este experimento, la implementación em un servicio web significa que la institución financiera tiene ahora una solución web iterativa y escalable para identificar posibles clientes de depósitos a plazo fijo.

Compruebe si la ejecución del experimento ha finalizado. Para ello, seleccione Job 1 (Trabajo 1) en la parte superior de la pantalla para volver a la página del trabajo primario. Se muestra un estado Completed (Completado) en la esquina superior izquierda de la pantalla.

Una vez completada la ejecución del experimento, la página Details (Detalles) se rellena con una sección Best model summary (Mejor resumen del modelo). En el contexto de este experimento, VotingEnsemble se considera el mejor modelo, según la métrica AUC_weighted.

Se implementa este modelo, pero se recomienda que la implementación tarda unos 20 minutos en completarse. El proceso de implementación conlleva varios pasos, como el registro del modelo, la generación de recursos y su configuración para el servicio web.

  1. Seleccione VotingEnsemble para abrir la página específica del modelo.

  2. Seleccione el menú Implementar en la parte superior izquierda y seleccione Implementar en el servicio web.

  3. Rellene el panel Deploy Model (Implementar modelo) como se indica a continuación:

    Campo Value
    Nombre de implementación my-automl-deploy
    Descripción de implementación Implementación de mi primer experimento de aprendizaje automático automatizado
    Compute type (Tipo de proceso) Seleccione Azure Container Instance (ACI)
    Enable authentication (Habilitar autenticación) Deshabilitar.
    Use custom deployments (Usar implementaciones personalizadas) Deshabilitar. Permite que se generen automáticamente el archivo de controlador predeterminado (script de puntuación) y el archivo de entorno.

    En este ejemplo, usamos los valores predeterminados que se proporcionan en el menú Advanced (Avanzada).

  4. Seleccione Implementar.

    En la parte superior de la pantalla Job (Trabajo) aparece un mensaje verde que indica que la operación se ha realizado correctamente y, en el panel Model summary (Resumen de modelo), aparece un mensaje de estado bajo Deploy status (Estado de implementación). Seleccione Refresh (Actualizar) periódicamente para comprobar el estado de la implementación.

Ya tiene un servicio web operativo para generar predicciones.

Continúe con Pasos siguientes para aprender a consumir el nuevo servicio web y probar las predicciones con la compatibilidad con Azure Machine Learning incorporada en Power BI.

Limpieza de recursos

Los archivos de implementación son mayores que los archivos de datos y del experimento, por lo que cuesta más almacenarlos. Elimine solo los archivos de implementación para minimizar costos en su cuenta y si desea conservar el área de trabajo y los archivos del experimento. Elimine todo el grupo de recursos completo si no planea usar ninguno de los archivos.

Eliminación de la instancia de implementación

Elimine solo la instancia de implementación de Azure Machine Learning de https://ml.azure.com/ si desea mantener el área de trabajo y el grupo de recursos para otros tutoriales y para su exploración.

  1. Vaya a Azure Machine Learning. Vaya al área de trabajo y, a la izquierda, en el panel Assets (Recursos), seleccione Endpoints (Puntos de conexión).

  2. Seleccione la implementación que desea eliminar y seleccione Eliminar.

  3. Seleccione Continuar.

Eliminar el grupo de recursos

Importante

Los recursos que creó pueden usarse como requisitos previos para otros tutoriales y artículos de procedimientos de Azure Machine Learning.

Si no va a usar ninguno de los recursos que ha creado, elimínelos para no incurrir en cargos:

  1. En Azure Portal, seleccione Grupos de recursos a la izquierda del todo.

  2. En la lista, seleccione el grupo de recursos que creó.

  3. Seleccione Eliminar grupo de recursos.

    Screenshot of the selections to delete a resource group in the Azure portal.

  4. Escriba el nombre del grupo de recursos. A continuación, seleccione Eliminar.

Pasos siguientes

En este tutorial ha usado la interfaz de aprendizaje automático automatizado de Azure Machine Learning para crear e implementar un modelo de clasificación. Para más información y ver los pasos siguientes, consulte estos artículos:

Nota

Este conjunto de conjuntos de marketing bancario está disponible bajo licencia de Creative Commons (CCO: dominio público). Todos los derechos de los contenidos individuales de la base de datos tienen la licencia Database Contents License y están disponibles en Kaggle. Este conjunto de datos estaba disponible originalmente en la base de datos de aprendizaje automático de UCI.

[Moro et al., 2014] S. Moro, P. Cortez y P. Rita. A Data-Driven Approach to Predict the Success of Bank Telemarketing. Decision Support Systems, Elsevier, 62:22-31, June 2014.