Digital Developer Conference: Hybrid Cloud 2021 | Capacitaciones gratuitas por expertos y partners | 21 de Setiembre ¡Inscríbete Ahora!

Automatiza el desarrollo de modelos en IBM Watson Studio

Este tutorial forma parte de la ruta de aprendizaje de Introducción a Watson Studio.

Este tutorial demuestra cómo crear y evaluar modelos de aprendizaje automático usando la función AutoAI en IBM® Watson™ Studio. En la fase de elaboración de modelo, se seleccionan y aplican diversas técnicas de modelo y se calibran sus parámetros para lograr una predicción óptima. Por lo general, existen varias técnicas que se pueden aplicar y algunas técnicas tienen requisitos específicos con respecto a la forma de los datos. Por lo tanto, a menudo es necesario volver a la fase de preparación de datos. Sin embargo, en la fase de evaluación del modelo, el objetivo es desarrollar un modelo que tenga alta calidad desde la perspectiva del análisis de datos. Antes de continuar con el despliegue final del modelo, es importante evaluarlo a fondo y revisar los pasos que se ejecutan para crearlo y asegurarse de que el modelo logre correctamente los objetivos de negocio.

El uso de la herramienta gráfica AutoAI en Watson Studio te permite crear rápidamente un modelo y evaluar su precisión, todo sin escribir una sola línea de código. AutoAI te guía, paso a paso, a través del desarrollo de un modelo de aprendizaje automático mediante la carga de datos de capacitación, la elección de una técnica y algoritmos de aprendizaje automático y la capacitación y evaluación del modelo.

Al igual que con todos los otros tutoriales en esta ruta de aprendizaje, estamos utilizando un conjunto de datos de rotación de clientes que está disponible en Kaggle.

Requisitos previos

Para completar los tutoriales en esta ruta de aprendizaje, es necesario una cuenta de IBM Cloud. Es posible obtener una cuenta de prueba gratuita, que te da acceso a IBM Cloud, IBM Watson Studio y Servicio IBM Watson Machine Learning.

Tiempo estimado

Te tomará aproximadamente 30 minutos completar este tutorial.

Pasos

Los pasos para configurar tu entorno para la ruta de aprendizaje se explican en el tutorial Visualización, preparación y transformación de datos utilizando IBM Watson Studio. Estos pasos muestran cómo:

  1. Crear un servicio IBM Cloud Object Storage.
  2. Crear un proyecto de Watson Studio.
  3. Suministrar servicios de IBM Cloud.
  4. Cargar el conjunto de datos.

Es necesario completar estos pasos antes de continuar con la ruta de aprendizaje. Si has terminado de configurar tu entorno, continúa con el siguiente paso, creando un nuevo modelo en Watson Studio.

Crea un nuevo modelo en Watson Studio

  1. Seleccionar la pestaña Activos para tu proyecto de Watson Studio.

  2. En la pestaña Activo, haz clic en el comando Agregar al proyecto.

    add-model-to-project

  3. Selecciona el tipo de activo AutoAI Experiment.

  4. En la ventana Crea un AutoAI Experiment:

    1. Selecciona En blanco como tipo de experimento.

    2. Ingresa un Nombre de activo, como “manual de rotación del cliente’.

    3. Para Servicio Machine Learning, selecciona el servicio Watson Machine Learning que creaste anteriormente para el proyecto.

      create-autoai-experiment

    4. Haz clic en Crear.

  5. En la ventana Agregar datos de capacitación:

    1. Haz clic en Seleccionar desde el proyecto.

    2. Selecciona el activo de datos de Kaggle agregado previamente al proyecto.

      select-asset

    3. Haz clic en Seleccionar activo.

Ejecutar y capacitar el modelo

Desde la ventana Configurar AutoAI Experiment:

  1. En el cuadro Seleccionar columna para predecir, selecciona rotación.

    config-auto-ai-panel

  2. Mantén el tipo de predicción predeterminado de Clasificación binaria y la métrica optimizada de ROC AUC (Características de funcionamiento del receptor / Área bajo curva).

  3. Haz clic en Ejecutar experimento.

A medida que se ejecuta el experimento, verás una serie de pasos en la parte superior de la página. Una vez finalizado, se muestra una lista de modelos completados en la parte inferior del panel, en orden de precisión.

model-run

El proceso AutoAI usa la siguiente secuencia para crear una lista de canales candidatos:

  • Preprocesamiento de datos
  • Selección de modelo automatizada (Canal 1)
  • Optimización de hiperparámetro (Canal 2)
  • Ingeniería de funciones automatizada (Canal 3)
  • Optimización de hiperparámetro (Canal 4)

Para nuestros datos, el Canal 3 se clasificó como el más alto, según nuestra métrica «Área bajo la curva ROC» (ROC AUC). Usó las mejoras de ‘Optimización de hiperparámetros’ e ‘Ingeniería de funciones’.

Una vez finalizada la AutoAI Experiment, se guarda en el proyecto de Watson Studio. Es posible verlo desde la pestaña Activos en AutoAI experiments.

experiment-list

Evalúa el rendimiento del modelo

En la página AutoAI Experiment, hay una serie de opciones disponibles para obtener más detalles sobre el rendimiento de cada canal.

pipeline-list

El comando Comparar canales expande la lista de métricas que se muestran para cada canal.

compare-pipelines

El botón > proporciona más detalles sobre el canal seleccionado.

expand-pipeline

Al hacer clic en el nombre del canal, se abre la ventana Evaluación del modelo para el canal.

experiment-list

Hay un menú a la izquierda que proporciona más métricas para el canal, como:

  • Tabla de matriz de confusión

    experiment-list

  • Gráfico de importancia de la función

    experiment-list

Es posible que la función del modelo AutoAI Experiment no proporcione exactamente el mismo conjunto de enfoques de clasificación y métricas de evaluación que es posible obtener con un Jupyter Notebook, pero llega al resultado significativamente más rápido y sin necesidad de programación.

Este componente de creación de modelos de Watson Studio es útil para crear un modelo de aprendizaje automático inicial que se prueba y se puede evaluar con respecto al rendimiento de la predicción, sin esfuerzos de programación que consuman mucho tiempo. Las métricas de predicción que proporciona el servicio también son útiles para tener una idea inicial de si el conjunto de datos es útil para el propósito para el que desea utilizarlo.

Despliega y prueba el modelo con el servicio Watson Machine Learning

De acuerdo con el proceso de IBM para ciencia de datos, después de que se desarrolla un modelo satisfactorio y es aprobado por los patrocinadores del negocio, se despliega en el entorno de producción o en un entorno de prueba comparable. Por lo general, se despliega de forma limitada hasta que su rendimiento se haya evaluado completamente.

Con el servicio de aprendizaje automático de Watson Studio, es posible desplegar tu modelo de tres formas diferentes: como un servicio web, como un programa por lotes o como una predicción de transmisión en tiempo real. En este tutorial, lo desplegamos como un servicio web y luego lo probamos de forma interactiva.

Primero, es necesario guardar el modelo.

  1. Para obtener el canal con la calificación más alta, haz clic en Guardar como modelo.

    save-best-model

  2. Mantén el nombre predeterminado y haz clic en Guardar.

El modelo debería aparecer ahora en la sección Modelos de tu proyecto de la pestaña Activos del proyecto.

new-model-list

Para desplegar el modelo, haz clic en el nombre del modelo para abrirlo.

  1. Selecciona la pestaña Despliegues.

    add-deployment

  2. Haz clic en Agregar despliegue.

  3. En la página Crear despliegue:

    1. Ingresa un Nombre para el despliegue (por ejemplo, ‘customer-churn-manual-web-deployment’).
    2. Mantén la configuración Tipo de despliegue del servicio web predeterminado.

    3. Ingresa una Descripción opcional.

      deploy-web-service

  4. Haz clic en Guardar para guardar el despliegue.

  5. Espera hasta que Watson Studio establezca el campo ESTADO en ‘listo’ o ‘DESPLIEGUE_ÉXITO’.

deploy-status

El modelo ahora está desplegado y se puede usar para la predicción. Sin embargo, antes de usarlo en un entorno de producción, podría valer la pena probarlo con datos reales. Es posible hacerlo de forma interactiva o programática utilizando la API para el servicio Watson Machine Learning. Discutimos el uso de la API en otro tutorial de esta ruta de aprendizaje, pero por ahora continuamos probándolo de forma interactiva.

Hay dos formas de probar la predicción de forma interactiva: ingresando los valores uno por uno en campos distintos (uno para cada función) o especificando todos los valores de la función usando un objeto JSON. Usamos la segunda opción porque es la más conveniente cuando las pruebas se realizan más de una vez (que suele ser el caso) y cuando se necesita un gran conjunto de valores de características.

Para que te resulte más fácil, es posible cortar y pegar el siguiente objeto JSON de muestra para utilizarlo en los siguientes pasos.

{"input_data":[{"fields": ["state", "account length", "area code", "phone number", "international plan", "voice mail plan", "number vmail messages", "total day minutes", "total day calls", "total day charge", "total eve minutes", "total eve calls", "total eve charge", "total night minutes", "total night calls", "total night charge", "total intl minutes", "total intl calls", "total intl charge", "customer service calls"], "values": [["NY",161,415,"351-7269","no","no",0,332.9,67,56.59,317.8,97,27.01,160.6,128,7.23,5.4,9,1.46,4]]}]}

Observa que el objeto JSON define primero los nombres de los campos, seguidos de una secuencia de observaciones que se predecirán, cada una en forma de secuencia.

Ten en cuenta que se espera que algunas de las características, como el estado y el número de teléfono, estén en forma de cadenas (lo que no debería sorprender), mientras que las características numéricas verdaderas se pueden proporcionar como números enteros o flotantes según corresponda para la característica dada. Para probar el modelo en tiempo de ejecución:

  1. Selecciona el despliegue que acabas de crear haciendo clic en el nombre del despliegue (por ejemplo, ‘customer-churn-manual-web-deployment’).

    deployment-list

  2. Esto abre una nueva página que te muestra una descripción general de las propiedades del despliegue (por ejemplo, nombre, fecha de creación y estado).

  3. Seleccione la pestaña Prueba.

  4. Selecciona el ícono de archivo, que te permite ingresar los valores usando JSON.

  5. Pega el objeto JSON de muestra en el campo Ingresar datos de entrada.

  6. Haz clic en Predecir para ver los resultados.

    deploy-est-result

El resultado de la predicción se da en términos de la probabilidad de que el cliente cambie (Verdadero) o no (Falso). Es posible probarlo con otros valores, por ejemplo, sustituyendo los valores con valores tomados del archivo ‘customer-churn-kaggle.csv’. Otra prueba sería cambiar el número de teléfono a algo como «XYZ» y luego ejecutar la predicción nuevamente. El resultado de la predicción debe ser el mismo, lo que indica que la característica no es un factor en la predicción.

Conclusión

Este tutorial cubrió los conceptos básicos del uso de la función AutoAI Experiment en Watson Studio, que incluye:

  • Crear un proyecto
  • Suministrar y asignar servicios al proyecto.
  • Agregar activos como conjuntos de datos al proyecto
  • Ejecutar AutoAI para generar estimadores basados en el conjunto de datos y en la ingeniería de funciones
  • Crear e desplegar un modelo
  • Capacitar, evaluar y probar el modelo

El uso de AutoAI proporciona una manera rápida y fácil de modelar la predicción de rotación de clientes y es una alternativa al estilo completamente programado de usar un Jupyter Notebook, como se describe en el tutorial Ejecución de Jupyter Notebooks en IBM Watson Studio.

Otro enfoque se proporciona en el siguiente tutorial de esta ruta de aprendizaje, Creación de SPSS Modeler flows en IBM Watson Studio.