Tutorial 3: Implementación de un modelo de riesgo crediticio: Machine Learning Studio (clásico)

SE APLICA A:Esta es una marca de comprobación, lo que significa que este artículo se aplica a Machine Learning Studio (clásico). Machine Learning Studio (clásico) Esta es una X, lo que significa que este artículo no se aplica a Azure Machine Learning.Azure Machine Learning

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.

En este tutorial se explica con detalle el proceso de desarrollo de una solución de análisis predictivo. Va a desarrollar un modelo sencillo en Machine Learning Studio (clásico). Después puede implementar el modelo como un servicio web de Machine Learning. Este modelo implementado puede hacer predicciones con datos nuevos. Se trata de la tercera parte de un tutorial de tres.

Suponga que necesita predecir el riesgo de crédito de un individuo en función de la información que se proporcionó en una solicitud de crédito.

La evaluación de riesgos crediticios es un problema complejo, pero en este tutorial se simplificará un poco. Se utilizará como ejemplo de cómo puede crear una solución de análisis predictivo con Machine Learning Studio (clásico). En esta solución se usará Machine Learning Studio (clásico) y un servicio web Machine Learning.

En este tutorial de tres partes, vamos a comenzar con los datos de riesgo crediticio disponibles públicamente. Después, desarrollaremos y entrenaremos un modelo predictivo. Finalmente, vamos a implementar el modelo como servicio web.

En la parte uno del tutorial, creó un área de trabajo de Machine Learning Studio (clásico), cargó datos y creó un experimento.

En la segunda parte del tutorial entrenó y evaluó modelos.

En esta parte del tutorial, se va a ver lo siguiente:

  • Preparar la implementación
  • Implementación del servicio web
  • Prueba del servicio web
  • Administración del servicio web
  • Acceso al servicio web

Requisitos previos

Completar la parte dos del tutorial.

Preparar la implementación

Para permitir que otros usuarios puedan usar el modelo predictivo desarrollado en este tutorial, se puede implementar como servicio web en Azure.

Hasta ahora hemos estado experimentando con el entrenamiento de nuestro modelo. Sin embargo, el servicio implementado ya no va a realizar el entrenamiento: va a generar nuevas predicciones mediante la puntuación de la entrada del usuario en función de nuestro modelo. Por lo tanto, hay que realizar unos cuantos preparativos para pasar este experimento de un experimento de entrenamiento a un experimento predictivo.

La preparación para la implementación es un proceso de tres pasos:

  1. Eliminación de uno de los modelos
  2. Conversión del experimento de entrenamiento que hemos creado en un experimento predictivo
  3. Implementar el experimento predictivo como servicio web

Eliminación de uno de los modelos

En primer lugar, debemos reducir este experimento un poco. Actualmente, hay dos modelos distintos en el experimento, pero solo queremos usar uno al implementar esto como servicio web.

Pongamos que decidimos que el modelo de árbol ampliado ofrece un rendimiento mayor que el modelo SVM. Por tanto, lo primero que se debe hacer es eliminar el módulo Two-Class Support Vector Machine (Máquina de vectores de soporte de dos clases) y los módulos que se usaron para entrenarlo. Puede que desee hacer una copia del experimento antes; para ello, haga clic en Guardar como en la parte inferior del lienzo de experimento.

Es necesario eliminar los siguientes módulos:

Seleccione cada módulo y presione la tecla Supr o haga clic con el botón derecho en el módulo y seleccione Eliminar.

Resalta los módulos que se van a eliminar para quitar el modelo de máquina de vectores de soporte

Nuestro modelo debería tener ahora un aspecto similar al siguiente:

Experimento resultante cuando se elimina el modelo de máquina de vectores de soporte

Ahora ya estamos preparados para implementar este modelo con el Árbol de decisión promovido por dos clases.

Convertir un experimento de entrenamiento en experimento predictivo

Para tener este modelo listo para la implementación, tenemos que convertir este experimento de entrenamiento en un experimento de predicción. Esto implica tres pasos:

  1. Guardar el modelo que ha entrenado y sustituir nuestros módulos de aprendizaje
  2. Recortar el experimento para quitar los módulos que fueron necesarios solo para el entrenamiento.
  3. Definir el lugar en el que el servicio web aceptará la entrada y en el que generará la salida

Se puede hacer manualmente, pero afortunadamente, para realizar estos tres pasos, basta con hacer clic en la opción Set Up Web Service (Configurar servicio web) de la parte inferior del lienzo del experimento (y seleccionar la opción Predictive web Service [Servicio web predictivo]).

Sugerencia

Si desea más detalles sobre lo que ocurre cuando convierte un experimento de entrenamiento en uno de predicción, consulte el artículo sobre la preparación del modelo de implementación en Machine Learning Studio (clásico).

Al hacer clic en Set Up Web Service(Configurar servicio web), pasa lo siguiente:

  • El modelo entrenado se convierte en un único módulo Trained Model (Modelo entrenado) y se guarda en la paleta de módulos que se encuentra a la izquierda del lienzo de experimento (se encuentra en Modelos entrenados).
  • Se quitan los módulos que se utilizaron para el entrenamiento, en particular:
  • El modelo entrenado guardado se vuelve a agregar al experimento.
  • Se agregan los módulos Web service input (Entrada al servicio web) y Web service output (Salida de servicio web), que identifican dónde los datos del usuario especificarán el modelo y qué datos se devolverán, cuando se accede al servicio web.

Nota

Puede ver que el experimento se guarda en dos partes en pestañas que se han agregado en la parte superior del lienzo del experimento. El experimento de entrenamiento original está en la pestaña Experimento de entrenamiento, y el experimento de predicción recién creado está en Experimento predictivo. El experimento predictivo es el que se va a implementar como servicio web.

Necesitamos realizar un paso adicional con este experimento concreto. Se han agregado dos módulos Execute R Script (Ejecutar script R) para proporcionar una función de ponderación a los datos. Era simplemente un truco necesario para el entrenamiento y las pruebas, por lo que es posible quitar dichos módulos en el modelo final. Machine Learning Studio (clásico) quitó un módulo Execute R Script (Ejecutar script R) cuando quitó el módulo Split (Dividir). Ahora se puede quitar el otro y conectar Metadata Editor (Editor de metadatos) directamente a Score Model (Puntuar modelo).

Nuestro experimento debería tener ahora un aspecto similar al siguiente:

Scoring the trained model

Nota

Quizás se pregunte por qué hemos dejado el conjunto de datos de la tarjeta de crédito alemana de UCI en el experimento predictivo. El servicio va a utilizar los datos del usuario, no el conjunto de datos original; entonces, ¿por qué se deja el conjunto de datos original en el modelo?

Es cierto que el servicio no necesita los datos originales de la tarjeta de crédito. Pero sí necesita el esquema para esos datos, que incluye información como la cantidad de columnas que hay y cuáles son numéricas. Esta información del esquema es necesaria para interpretar los datos del usuario. Dejamos estos componentes conectados para que el módulo de puntuación tenga el esquema del conjunto de datos cuando el servicio se esté ejecutando. No se utilizan los datos, sino solamente el esquema.

Una cosa importante a tener en cuenta es que si el conjunto de datos original contiene la etiqueta, el esquema esperado de la entrada web también espera una columna con la etiqueta. Una forma de evitarlo es quitar la etiqueta y cualquier otro dato que esté en el conjunto de datos de entrenamiento, pero que no esté en las entradas web, antes de conectar la entrada web y el conjunto de datos de entrenamiento en un módulo común.

Ejecute el experimento por última vez (haga clic en Ejecutar). Si desea comprobar que el modelo sigue funcionando, haga clic en la salida del módulo Score Model (Puntuar modelo) y seleccione Ver resultados. Puede ver que aparecen los datos originales, junto con el valor de riesgo de crédito (las "etiquetas puntuadas") y el valor de probabilidad de la puntuación (las "probabilidades puntuadas").

Implementación del servicio web

Puede implementar el experimento como un servicio web clásico o como un servicio web nuevo basado en Azure Resource Manager.

Implementación como servicio web clásico

Para implementar un servicio web clásico derivado de nuestro experimento, haga clic en Deploy Web Service (Implementar servicio web) debajo del lienzo y seleccione Deploy Web Service [Classic] (Implementar servicio web [clásico]). Machine Learning Studio (clásico) implementa el experimento como servicio web y lo remite al panel del servicio web. Desde esta página, puede volver al experimento (Ver instantánea o View latest [Ver más reciente]) y ejecutar una prueba sencilla del servicio web (consulte la sección Prueba del servicio web a continuación). Aquí también hay información para crear aplicaciones que puedan acceder al servicio web (más información al respecto en el siguiente paso de este tutorial).

Panel del servicio web

Puede configurar el servicio haciendo clic en la pestaña CONFIGURACIÓN . Aquí puede modificar el nombre del servicio (recibe de manera predeterminada el nombre del experimento) y proporcionarle una descripción. También puede poner etiquetas más descriptivas para los datos de entrada y salida.

Configurar el servicio web

Implementación como servicio web nuevo

Nota

Para implementar un servicio web nuevo, debe tener permisos suficientes en la suscripción en la que lo implementa. Para obtener más información, consulte Administración de un servicio web mediante el portal Servicios web Machine Learning.

Para implementar un servicio web nuevo derivado del experimento:

  1. Haga clic en Deploy Web Service (Implementar servicio web) debajo del lienzo y seleccione Deploy Web Service [New] (Implementar servicio web [nuevo]). Machine Learning Studio (clásico) le transfiere a la página Implementar experimento del portal Servicios web Machine Learning.

  2. Escriba un nombre para el servicio web.

  3. Para Plan de precios, puede seleccionar un plan de precios existente, o seleccionar "Crear nuevo" y asignar un nombre al nuevo plan y seleccionar la opción de plan mensual. Los niveles de los planes predeterminados son los de la región predeterminada, y el servicio web se implementa en dicha región.

  4. Haga clic en Implementar.

Después algunos minutos, se abre la página Inicio rápido del servicio web.

Puede configurar el servicio haciendo clic en la pestaña Configurar. Aquí puede modificar el título del servicio y escribir una descripción.

Para probar el servicio web, haga clic en la pestaña Probar (vea la sección Prueba del servicio web a continuación). Para información sobre cómo crear aplicaciones que puedan acceder al servicio web, haga clic en la pestaña Consumir (en el siguiente paso de este tutorial puede encontrar más información).

Sugerencia

Puede actualizar el servicio web después de haberlo implementado. Por ejemplo, si desea cambiar el modelo, edite el experimento de entrenamiento, ajuste los parámetros del modelo, haga clic en Deploy Web Service (Implementar servicio web) y seleccione Deploy Web Service [Classic] (Implementar servicio web [clásico]) o Deploy Web Service [New] (Implementar servicio web [nuevo]). Cuando implementa el experimento de nuevo, este sustituye al servicio web, ahora con el modelo actualizado.

Prueba del servicio web

Cuando se accede al servicio web, los datos del usuario se escriben con el módulo Web service input (Entrada al servicio web), donde se pasan al módulo Score Model (Puntuar modelo) y se puntúan. Según se ha configurado el experimento predictivo, el modelo espera los datos en el mismo formato que el conjunto de datos de riesgo crediticio original. Los resultados se devuelven al usuario desde el servicio web a través del módulo Web service output (Salida del servicio web).

Sugerencia

La forma en que se configura el experimento predictivo permitirá que se devuelvan los resultados desde el módulo Score Model (Puntuar modelo). Esto incluye todos los datos de entrada además del valor de riesgo de crédito y la probabilidad de puntuación. Pero puede devolver algo distinto si lo desea; por ejemplo, podría devolver solamente el valor de riesgo de crédito. Para ello, inserte un módulo Seleccionar columnas entre Puntuar modelo y Web service output (Salida del servicio web) para eliminar aquellas columnas que no desee que devuelva el servicio web.

Puede probar el servicio web clásico en Machine Learning Studio (clásico) o en el portal de Servicios web de Azure Machine Learning. Puede probar un servicio web nuevo en el portal Servicios web Machine Learning.

Sugerencia

Al realizar pruebas en el portal Servicios web Machine Learning, puede habilitar el portal para que cree datos de ejemplo que se puedan usar para probar el servicio de solicitud-respuesta. En la página Configurar, seleccione "Yes" (Sí) para Sample Data Enabled? (¿Datos de ejemplo habilitados?). Al abrir la pestaña Solicitud-respuesta en la página Probar, el portal rellena los datos de ejemplo obtenidos del conjunto de datos de riesgo de crédito original.

Prueba de un servicio web clásico

Puede probar el servicio web clásico en Machine Learning Studio (clásico) o en el portal de Servicios web de Azure Machine Learning.

Prueba de Machine Learning Studio (clásico)

  1. En la página PANEL del servicio web, haga clic en el botón Probar de Default Endpoint (Punto de conexión predeterminado). Aparecerá un cuadro de diálogo que le pide los datos de entrada del servicio. Se trata de las mismas columnas que aparecieron en el conjunto de datos original de riesgo de crédito original.

  2. Escriba un conjunto de datos y haga clic en Aceptar.

Prueba en el portal Servicios web Machine Learning

  1. En la página PANEL del servicio web, haga clic en el botón Test preview (Vista preliminar de la prueba) de Default Endpoint (Punto de conexión predeterminado). La página de prueba del portal Servicios web Machine Learning para el punto de conexión del servicio web se abrirá y le pedirá los datos de entrada para el servicio. Se trata de las mismas columnas que aparecieron en el conjunto de datos original de riesgo de crédito original.

  2. Haga clic en Test Request-Response (Probar solicitud-respuesta).

Prueba de un servicio web nuevo

Puede probar un servicio web nuevo en el portal Servicios web Machine Learning.

  1. En el portal Servicios web Machine Learning, haga clic en Probar en la parte superior de la página. Se abrirá la página Prueba y podrá escribir datos para el servicio. Los campos de entrada que se muestran corresponden a las columnas que aparecieron en el conjunto de datos original de riesgo de crédito.

  2. Escriba un conjunto de datos y, después, haga clic en Test Request-Response(Probar solicitud-respuesta).

Los resultados de la prueba se muestran en el lado derecho de la página en la columna de salida.

Administración del servicio web

Cuando se haya implementado el servicio web, ya sea clásico o nuevo, podrá administrarlo desde el portal Servicios web Machine Learning.

Para supervisar el rendimiento del servicio web, siga estos pasos:

  1. Inicie sesión en el portal Servicios web Machine Learning
  2. Haga clic en Servicios web.
  3. Haga clic en el servicio web.
  4. Haga clic en Panel.

Acceso al servicio web

En el paso anterior de este tutorial hemos implementado un servicio web que usa nuestro modelo de predicción del riesgo crediticio. Ahora los usuarios pueden enviar datos al servicio y recibir resultados.

El servicio web es un servicio web de Azure que puede recibir y devolver datos con las API de REST de una de estas dos maneras:

  • Solicitud/respuesta : el usuario envía una o varias filas de datos de crédito al servicio mediante un protocolo HTTP, y el servicio responde con uno o más conjuntos de resultados.
  • Ejecución de lotes : el usuario almacena una o varias filas de datos de crédito en un blob de Azure y luego envía la ubicación del blob al servicio. El servicio puntúa todas las filas de datos en el blob de entrada, almacena los resultados en otro blog y devuelve la dirección URL del contenedor.

Nota

Los nombres de las columnas de características en Studio (clásico) distinguen mayúsculas de minúsculas. Asegúrese de que los datos de entrada para invocar el servicio web tengan los mismos nombres de columna que en el conjunto de datos de entrenamiento.

Para más información acerca del acceso y consumo del servicio web, consulte Consumo de un servicio web Machine Learning con una plantilla de aplicación web.

Limpieza de recursos

Si ya no necesita los recursos que creó en este artículo, elimínelos para evitar incurrir en cualquier cargo. Aprenda a hacerlo en el artículo sobre la Exportación y eliminación de datos de usuario integrados.

Pasos siguientes

En este tutorial ha completado estos pasos:

  • Preparar la implementación
  • Implementación del servicio web
  • Prueba del servicio web
  • Administración del servicio web
  • Acceso al servicio web

También puede desarrollar una aplicación personalizada para acceder al servicio web con código de inicio proporcionado en los lenguajes de programación R, C# y Python.