¡Participa de la Maratón Behind the Code, la competencia de programación más desafiante! Inscríbete aqui

Automatizar la creación de modelos con AutoAI

Módulos de esta ruta de aprendizaje

# Tipo Titulo Descripción
1 Artículos Introducción a IBM Cloud Pak for Data Conoce los conceptos básicos de IBM Cloud Pak for Data
2 Artículos Introducción a IBM Cloud Pak for Data (Parte 2) Comprende sus funciones y adquiere conocimientos prácticos de los diferentes pasos y tareas
3 Tutoriales Virtualización de datos en IBM Cloud Pak for Data Utiliza la virtualización de datos en IBM Cloud Pak for Data para realizar consultas en varios orígenes de datos
4 Tutoriales Visualización de datos con Data Refinery Utilice IBM Cloud Pak for Data para filtrar, limpiar y visualizar datos
5 Tutoriales Buscar, preparar y comprender datos con Watson Knowledge Catalog Resuelve los problemas de gobernanza de datos empresariales utilizando Watson Knowledge Catalog en la plataforma IBM Cloud Pak for Data
6 Tutoriales Automatizar la creación de modelos con AutoAI Aprende cómo se pueden manejar los problemas de regresión y clasificación sin necesidad de código
7 Tutoriales Crea un modelo predictivo de machine learning de manera rápida y sencilla con IBM SPSS Modeler Aprovecha los activos de datos y las aplicaciones modernas con algoritmos y modelos listos para usar
8 Code Pattern Cómo resolver un problema de negocio y pronosticar la rotación de clientes utilizando un conjunto de datos de pérdida de clientes Utiliza Watson Machine Learning y Jupyter Notebooks en IBM Cloud Pak for Data para pronosticar la pérdida de clientes
9 Code Pattern Monitoreo del modelo con Watson OpenScale Entrena, crea y despliega un modelo de machine learning con IBM Watson Machine Learning en IBM Cloud Pak for Data

AutoAI es una capacidad que automatiza las tareas de machine learning para facilitar las de los científicos de datos. Prepara automáticamente los datos para la modelación, elige el mejor algoritmo para tu problema y crea pipelines para los modelos entrenados; además, se puede ejecutar en nubes públicas y privadas, entre ellas IBM Cloud Pak® for Data.

Objetivos de aprendizaje

En este tutorial se explican los beneficios del servicio AutoAI en un caso de uso. De esta manera, podrás comprender mejor cómo se pueden manejar los problemas de regresión y clasificación sin necesidad de código, y cómo se realizan las tareas (ingeniería de funciones, selección de modelos, ajuste de hiperparámetros, etc.) con este servicio. Este tutorial también incluye detalles para elegir el mejor modelo entre los pipelines, además de cómo desplegar y utilizar estos modelos a través de la plataforma IBM Cloud Pak for Data.

Requisitos previos

Tiempo estimado

Este tutorial debería completarse aproximadamente en 20 minutos, incluida la capacitación en AutoAI, y se divide en los siguientes pasos:

1.Crear un proyecto y una instancia de AutoAI 2.Configurar tu entorno de AutoAI y generar pipelines 3.Guardar el modelo de AutoAI 4.Desplegar y probar el modelo

Paso 1. Crear un proyecto y una instancia de AutoAI

Crear un proyecto de IBM Cloud Pak for Data

1.Utilizando un navegador, inicia sesión en la instancia de ICP4D y haz clic en el menú hamburguesa (☰) de la esquina superior izquierda; luego, haz clic en Projects (Proyectos). En la página Projects (Proyectos), haz clic en New Project + (Nuevo proyecto +).

Dashboard de proyectos dentro de IBM Cloud Pak for Data

2.Selecciona Analytics project (Proyecto de analítica) y haz clic en Next (Siguiente).

Panel de creación del nuevo proyecto

3.Selecciona Create an empty project (Crear un proyecto nuevo).

Panel de selección, crear un proyecto vacío

4.Asigna al proyecto un nombre y una descripción opcional y luego haz clic en Create (Crear).

Panel de creación del nuevo proyecto

Se abre la página de activos de datos, que es donde se almacenan y organizan los activos de tu proyecto. Al hacer clic en la barra Assets (Activos), es posible cargar el conjunto de datos desde la interfaz de la derecha.

1.Descarga el conjunto de datos Telco-Customer-Churn.csv (CSV, 970 KB).

2.Sube el conjunto de datos en el proyecto de analítica haciendo clic en Browse (Examinar) y seleccionando el archivo descargado.

Panel de Assets dentro del dashboard del proyecto

Paso 2. Configurar tu entorno de AutoAI y generar pipelines

1.Para iniciar la experiencia AutoAI, haz clic en Add to Project + (Añadir al proyecto +) en la parte superior y selecciona AutoAI experiment (Experimento de AutoAI).

Panel de selección del tipo del asset

2.Asigna un nombre al activo de experimento de AutoAI y deja la opción de configuración de computación predeterminada en el menú desplegable; a continuación, haz clic en Create (Crear).

Panel de creación del nuevo proyecto AutoAI

3.Para configurar el experimento, debemos darle el conjunto de datos que va a utilizar. Haz clic en la opción Select from project (Seleccionar desde el proyecto).

Dashboard donde agregar la nueva fuente de datos

4.En el cuadro de diálogo, selecciona el conjunto de datos Telco-Customer-Churn.csv(CSV, 970 KB) que se subió en el paso anterior y, a continuación, haz clic en Select asset (Seleccionar activo).

Seleccionar el asset a utilizar desde el panel de selección

1.Una vez que se lee el conjunto de datos, necesitamos indicar qué queremos que prediga el modelo. En la columna Select prediction (Seleccionar predicción), busca y haz clic en la fila Churn (Abandono).

2.AutoAI configurará los valores predeterminados para el experimento en función del conjunto de datos. Esto incluye el tipo de modelo que se va a crear, las métricas que se van a optimizar, la división de prueba/entrenamiento, etc. Es posible ver o cambiar estos valores en Experiment settings (Configuración del experimento). Por ahora, aceptaremos los valores predeterminados y haremos clic en el botón Run experiment (Ejecutar experimento).

Panel de configuración previo a correr el experimento

3.El experimento de AutoAI se ejecutará y la interfaz de usuario mostrará el progreso a medida que sucede.

Panel de resumen del experimento

4.La interfaz de usuario mostrará el progreso a medida que se seleccionen diferentes algoritmos o evaluadores y se creen y evalúen diferentes pipelines. Es posible ver el rendimiento de los pipelines que se han completado al expandir cada sección del pipeline.

5.El experimento puede tardar varios minutos en ejecutarse. Al finalizar, verás un mensaje que indica que se han creado los pipelines.

Alterar el mapa de relaciones del experimento dentro del panel

Paso 3. Guardar el modelo de AutoAI

El proceso de AutoAI selecciona de forma predeterminada los dos algoritmos que mejor funcionan para un conjunto de datos determinado. Después de ejecutar los pasos adecuados de preprocesamiento de datos, sigue esta secuencia para cada uno de los algoritmos a fin de crear pipelines candidatos:

  • Selección automatizada de modelos

  • Optimización de hiperparámetros

  • Ingeniería de funciones automatizada

  • Optimización de hiperparámetros

Es posible revisar cada pipeline y seleccionar para desplegar el que mejor funcione de este experimento.

1.Desplázate hacia abajo para ver la tabla de clasificación del pipeline. El pipeline que mejor funciona está en el primer rango.

2.El siguiente paso consiste en seleccionar el modelo que ofrece el mejor resultado, teniendo en cuenta las métricas. En este caso, el pipeline 4 dio el mejor resultado con la métrica “Accuracy (optimized)” («Precisión (optimizada)»). Es posible ver los resultados detallados haciendo clic en el pipeline correspondiente en la tabla de clasificación.

Listado de elementos dentro del experimento

3.La página de evaluación del modelo mostrará las métricas del experimento, las transformaciones de funciones realizadas (si las hubiera), qué funciones contribuyen al modelo y más detalles del pipeline.

Evaluación del modelo dentro del panel del proyecto

1.Para desplegar este modelo, haz clic en Save as (Guardar como) y, a continuación, en Model (Modelo) para guardarlo.

2.Se abre una ventana que solicita el nombre del modelo, la descripción (opcional), etc. Es posible aceptar los valores predeterminados, asignar al modelo un nombre o una descripción significativos y luego hacer clic en Save (Guardar).

Guardar el modelo

3.Recibirás una notificación que te indicará que tu modelo se ha guardado en el proyecto.

Regresa a la página principal del proyecto haciendo clic en el nombre del proyecto en el navegador de la parte superior izquierda.

Volver al panel de evaluación del modelo

Verás el nuevo modelo en la sección Models (Modelos) de la página Assets (Activos).

Listado de modelos creados

Paso 4. Desplegar y probar el modelo

1.En la sección Models (Modelos) de la página Assets (Activos), haz clic en el nombre del modelo guardado.

2.Para que el modelo pueda desplegarse, necesitamos que esté disponible en el espacio de despliegue. Haz clic en Promote to deployment space (Promover a espacio de despliegue).

Promover el asset seleccionado

3.Para promover un activo, el proyecto debe asociarse primero a un espacio de despliegue. Haz clic en Associate Deployment Space (Asociar espacio de despliegue).

Panel de confirmación al momento de promover el asset

4.Es posible que ya hayas creado un espacio de despliegue. En ese caso, haz clic en la pestaña Existing (Existente), elige el despliegue y, a continuación, haz clic en Associate (Asociar).

Seleccionar un espacio donde desplegar el asset

5.Si no tienes un despliegue existente, ve a la pestaña New (Nuevo), asigna un nombre al espacio de despliegue y, a continuación, haz clic en Associate (Asociar).

Panel donde confirmar la asociación del asset con el espacio seleccionado

6.En la página del modelo, vuelve a hacer clic en Promote to deployment space (Promover a espacio de despliegue) y, a continuación, haz clic en Promote to space (Promover a espacio) en el cuadro de diálogo que aparece para confirmar.

Confirmar la promoción del asset a través del panel

7.Esta vez verás una notificación de que el modelo se promovió al espacio de despliegue correctamente. Haz clic en Deployment space (Espacio de despliegue) en esta notificación. También es posible acceder a esta página utilizando el menú hamburguesa (☰) y haciendo clic en Analyze > Analytics deployments (Analizar > Despliegues de analítica).

Desplegar las analíticas desde el menú

8.Si llegaste a través de Menu > Analyze > Analytics deployments (Menú > Analizar > Despliegues de analítica), haz clic en el espacio de despliegue.

Seleccionar un espacio del listado

9.En la pestaña Assets (Activos), haz clic en el modelo de AutoAI que acabas de promover.

Abrir la información del espacio de despliegue seleccionado

10.Haz clic en Create deployment (Crear despliegue) en la esquina superior derecha.

Crear el despliegue dentro del espacio

11.En la pantalla Create a deployment (Crear un despliegue), elige Online para el tipo de despliegue, asigna al despliegue un nombre y una descripción opcionales y, a continuación, haz clic en Create (Crear).

Configurar el despliegue desde el panel de creación

12.El despliegue se mostrará como “In progress” (“En curso») y cambiará a «Deployed» (“Desplegado”) cuando haya terminado.

Panel de confirmación luego de haber creado el despliegue

Probar el modelo desplegado con la herramienta GUI

IBM Cloud Pak for Data ofrece herramientas para probar rápidamente los modelos de machine learning de Watson. Comenzamos con las herramientas incorporadas.

1.Haz clic en el despliegue. La pestaña de referencia de la API de despliegue muestra cómo utilizar el modelo con Curl, Java, JavaScript, Python y Scala. Haz clic en las pestañas correspondientes para obtener el fragmento de código en el idioma que deseas utilizar.

Referencias API dentro del modelo

2.Para llegar a la herramienta de prueba incorporada, haz clic en la pestaña Test (Prueba), luego en el ícono Provide input data as JSON (Proporcionar datos de entrada como JSON) y pega los siguientes datos donde se indica Body (Cuerpo):

json
   {
   "input_data":[
      {
         "fields":[ "customerID", "gender", "SeniorCitizen", "Partner", "Dependents", "tenure", "PhoneService", "MultipleLines", "InternetService", "OnlineSecurity", "OnlineBackup", "DeviceProtection", "TechSupport", "StreamingTV", "StreamingMovies", "Contract", "PaperlessBilling", "PaymentMethod", "MonthlyCharges", "TotalCharges"],
         "values":[[ "7567-VHVEG", "Female", 0, "No", "No", 1, "No", "No phone service", "DSL", "No", "No", "No", "No", "No", "No", "Month-to-month", "No", "Bank transfer (automatic)", 25.25, 25.25]]
      }
   ]
}

1.Haz clic en el botón Predict (Predecir) y se llamará al modelo con los datos de entrada. Los resultados se mostrarán en la ventana Result (Resultado). Desplázate hacia abajo hasta la parte inferior del resultado para ver la predicción, que serán “Yes” (“Sí”) o “No” (No) en el caso de Churn (Abandono).

Ingresar los datos dentro de la API

2.Como alternativa, es posible hacer clic en el ícono Provide input using form (Proporcionar entrada mediante formulario) e introducir los distintos campos; a continuación, haz clic en Predict (Predecir).

Configurar estos datos ingresados

Probar el modelo desplegado con Curl

Ahora que el modelo está desplegado, también podemos probarlo desde aplicaciones externas. Una forma de invocar la API del modelo es utilizando el comando Curl.

NOTA: Los usuarios de Windows necesitarán el comando Curl. Se recomienda descargar Git Bash para esto, ya que también tendrás otras herramientas y podrás utilizar fácilmente las variables de entorno de shell en los siguientes pasos. También ten en cuenta que, si no estás utilizando Git Bash, es posible que debas cambiar los comandos de exportación para establecer comandos.

1.En una ventana de terminal (o indicador de comandos en Windows), ejecuta el siguiente comando para obtener un token de acceso a la API. Utiliza el nombre de usuario y la contraseña del clúster CP4D:

bash
curl -k -X GET https://<cluster-url>/v1/preauth/validateAuth -u <username>:<password>

Se devolverá una cadena JSON con un valor para accessToken que tendrá un aspecto similar al siguiente:

json
{"username":"snyk","role":"Admin","permissions":["access_catalog","administrator","manage_catalog","can_provision"],"sub":"snyk","iss":"KNOXSSO","aud":"DSX","uid":"1000331002","authenticator":"default","accessToken":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InNueWstYWRtaW4iLCJyb2xlIjoiQWRtaW4iLCJwZXJtaXNzaW9ucyI6WyJhZG1pbmlzdHJhdG9yIiwiY2FuX3Byb3Zpc2lvbiIsIm1hbmFnZV9jYXRhbG9nIiwibWFuYWdlX3F1YWxpdHkiLCJtYW5hZ2VfaW5mb3JtYXRpb25fYXNzZXRzIiwibWFuYWdlX2Rpc2NvdmVyeSIsIm1hbmFnZV9tZXRhZGF0YV9pbXBvcnQiLCJtYW5hZ2VfZ292ZXJuYW5jZV93b3JrZmxvdyIsIm1hbmFnZV9jYXRlZ29yaWVzIiwiYXV0aG9yX2dvdmVycmFuY2VfYXJ0aWZhY3RzIiwiYWNjZXNzX2NhdGFsb2ciLCJhY2Nlc3NfaW5mb3JtYXRpb25fYXNzZXRzIiwidmlld19xdWFsaXR5Iiwic2lnbl9pbl9vbmx5Il0sInN1YiI6InNueWstYWRtaW4iLCJpc3MiOiJLTk9YU1NPIiwiYXVkIjoiRFNYIiwidWlkIjoiMTAwMDMzMTAwMiIsImF1dGhlbnRpY2F0b3IiOiJkZWZhdWx0IiwiaWp0IjoxNTkyOTI3MjcxLCJleHAiOjE1OTI5NzA0MzV9.MExzML-45SAWhrAK6FQG5gKAYAseqdCpublw3-OpB5OsdKJ7isMqXonRpHE7N7afiwU0XNrylbWZYc8CXDP5oiTLF79zVX3LAWlgsf7_E2gwTQYGedTpmPOJgtk6YBSYIB7kHHMYSflfNSRzpF05JdRIacz7LNofsXAd94Xv9n1T-Rxio2TVQ4d91viN9kTZPTKGOluLYsRyMEtdN28yjn_cvjH_vg86IYUwVeQOSdI97GHLwmrGypT4WuiytXRoQiiNc-asFp4h1JwEYkU97ailr1unH8NAKZtwZ7-yy1BPDOLeaR5Sq6mYNIICyXHsnB_sAxRIL3lbBN87De4zAg","_messageCode_":"success","message":"success"}

1.Utiliza el comando export (exportar) para guardar la parte accessToken de esta respuesta en la ventana del terminal en una variable llamada WML_AUTH_TOKEN:

bash
export WML_AUTH_TOKEN=<value-of-access-token>

1.De vuelta en la página de despliegue del modelo, recopile la dirección URL para invocar el modelo desde la referencia de la API copiando el punto final (endpoint) y exportándolo como una variable llamada URL:

bash
export URL=https://blahblahblah.com

Generar el link de referencia

1.Ahora ejecuta este comando cURL desde una ventana de terminal para solicitar el modelo con la misma carga útil utilizada anteriormente:

bash
curl -k -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header "Authorization: Bearer  $WML_AUTH_TOKEN" -d '{"input_data": [{"fields": ["customerID","gender","SeniorCitizen","Partner","Dependents","tenure","PhoneService","MultipleLines","InternetService","OnlineSecurity","OnlineBackup","DeviceProtection","TechSupport","StreamingTV","StreamingMovies","Contract","PaperlessBilling","PaymentMethod","MonthlyCharges","TotalCharges"],"values": [["7567-VHVEG","Female",0,"No","No",1,"No","No phone service","DSL","No","No","No","No","No","No","Month-to-month","No","Bank transfer (automatic)",25.25,25.25]]}]}' $URL

1.Con la respuesta se devolverá una cadena JSON similar a la que se muestra a continuación, que incluye un “Yes” (“Sí”) o un (“No”) al final que indica la predicción de si el cliente abandonará o no:

json
{
  "predictions": [{
    "fields": ["prediction", "probability"],
    "values": [["Yes", [0.41352894570116494, 0.5864710542988351]]]
  }]
}

Resumen

Este tutorial explica los beneficios del servicio AutoAI en un caso de uso de una empresa de telecomunicaciones para que pueda comprender mejor cómo se pueden manejar los problemas de regresión y clasificación sin ningún código y cómo se realizan las tareas (ingeniería de funciones, selección de modelos, ajuste de hiperparámetros, etc.) con este servicio. El tutorial también incluyó detalles para elegir el mejor modelo entre los pipelines, y cómo desplegar y utilizar estos modelos a través de la plataforma IBM Cloud Pak for Data.

¿Quieres saber más sobre AutoAI? Echa un vistazo a Simplifica tu ciclo de vida de Inteligencia Artificial con AutoAI.