Watson Studio: ¿Cómo predecir si alguien me va a pagar o no?

Isaac Carrada
ibmdevelopermx
Published in
7 min readMar 26, 2020
Photo by rupixen.com on Unsplash

Predecir el futuro es algo que muchas veces se encuentra dentro del campo de la ciencia ficción en películas como Minority Report o utilizado históricamente por estafadores que se quieren quedar tu dinero.

¿Qué pasaría si te digo que es algo que es matemáticamente posible y que se ha estado implementando desde el siglo XIX?

En este post veremos cómo hacer una predicción de mora (si alguien paga o no) entrenando un modelo de Machine Learning para posteriormente consumirlo desde cualquier aplicación/página web.

Requisitos previos

Crear una instancia de Cloud Object Storage

Nuestro primer paso es crear una instancia de Cloud Object Storage dentro de nuestra nube, puesto que ahí es en donde se guardarán todos los archivos que importemos a nuestro proyecto, así como nuestros modelos ya entrenados.

Buscamos Object Storage desde el buscador de IBM Cloud, al darle click deberíamos ver la siguiente pantalla para acabar de crear nuestro servicio:

Seleccionamos el plan Lite, lo nombramos y damos click en Create.

Crear una instancia de Watson Studio y configuramos el ambiente

Ahora debemos crear el servicio en el que importaremos nuestro set de datos y entrenaremos nuestro modelo. En el buscador ponemos Watson Studio y le damos click, asignamos un nombre y damos click al botón Create.

En la ventana que nos arroja damos click en Get Started para acceder a Watson Studio.

Watson Studio nos da una amable y personalizada bienvenida, una vez dentro seleccionamos New Project.

Posteriormente seleccionamos Create an empty project.

Nombramos nuestro proyecto y comprobamos que nuestra instancia previamente creada de Cloud Object Storage esté conectada.

Una vez creado el proyecto buscamos la pestaña Assets. Para agregar un nuevo data set nos vamos a la esquina superior derecha y damos click en el ícono que tiene 0100. Dentro de las opciones que aparecen seleccionamos Load. En ella aparecerá Browse que nos permitirá subir contenido que tenemos localmente dentro de nuestra computadora, o en su defecto podemos simplemente arrastrar y soltar nuestros archivos dentro de la caja en la que aparece Browse.

Seleccionamos el archivo Mora.csv que descargamos del repositorio al inicio del taller.

Añadimos un Modeler Flow para crear el flujo con el que entrenaremos la clasificación binaria

Una vez que nuestro documento se encuentre en el apartado Data Assets, en la esquina superior derecha de la página seleccionamos Add to project.

Seleccionamos el tipo de Asset Modeler Flow.

Dentro de la pestaña New nombramos nuestro flujo. En el sub campo Flow Type seleccionamos Modeler Flow y en runtime IBM SPSS Modeler.

Crear el flujo de clasificación binaria y entrenar el modelo

En el menú de la izquierda, seleccionamos la pestaña Import, posteriormente buscamos el nodo Data Asset y lo arrastramos al área de trabajo.

Seleccionamos ahora la pestaña Field Operations, seleccionamos el nodo Type, lo arrastramos al área de trabajo y lo unimos con el nodo Data Asset.

Por último, seleccionamos ahora la pestaña Modeling y seleccionamos un modelo de clasificación, yo elegiré C5 (Si no sabes que modelo elegir, puedes utilizar el nodo Auto Classifier, que correrá varios modelos y te dirá cual es el más adecuado).

Damos doble click en el nodo Data Asset y seleccionamos Change Data Asset.

Seleccionamos Data Assets, dentro seleccionamos Mora y damos click en OK.

Damos click en Save. Ahora ingresamos a nuestro nodo Type y del lado derecho dentro de nuestra lista de variables, seleccionamos para Mora el Role de Target y damos click en Save.

Una vez que lo hayamos guardado, el último nodo (del modelo) tendrá el nombre de nuestra variable objetivo.

Ahora debemos dar click en Run, que es el ícono Play que aparece en el menú de arriba.

Una vez entrenado nuestro modelo tendremos un nuevo nodo color mostaza, éste ya es nuestro modelo entrenado.

Guardar y desplegar el modelo

Una vez entrenado nuestro modelo, vamos a guardarlo para poder posteriormente desplegarlo.

Damos click en el disquete para salvar el modelo.

Nos pedirá una instancia de Watson Machine Learning que es la que nos servirá para guardar y desplegar nuestro modelo. Debemos dar click en el hipervínculo que nos muestra para crear el servicio.

En la pestaña New dejamos seleccionado Lite y damos click en Create.

Dejamos el nombre y todos los campos como están y damos click en Confirm.

Ahora sí, volvemos a dar click en el disquete para salvar nuestro modelo.

En la pestaña que nos abre, debemos seleccionar Individual algorithm as PMML en Model applier node seleccionamos MORA y damos click en Save.

Una vez que se guardó, cerramos el pop-up dando click en Close.

Esto nos llevará de nuevo a nuestro Modeler Flow, para ver nuestro modelo guardado debemos regresarnos a nuestro proyecto.

Para esto damos click a su nombre en la esquina superior izquierda.

Navegamos una vez más a la pestaña Assets.

Navegamos hacia abajo dentro de la pestaña hasta el campo Models, en el que podemos ya ver el modelo qué acabamos de guardar.

Ahora simplemente debemos darle click al nombre de nuestro modelo y navegamos a la pestaña Deployments.

En la cual damos click a Add Deployment, damos un nombre personalizado a nuestro despliegue y damos click en Save.

Esperamos unos momentos hasta que en Status en lugar de Initializing diga Deploy success (a veces es necesario recargar la página para que esto suceda).

Procedemos a dar click en el nombre de nuestro despliegue.

En la pestaña Implementation vienen ejemplos de cómo consumir el modelo desde varios lenguajes de programación, o en su defecto, desde curl.

En nuestro caso, utilizaremos la pestaña Test para consumir nuestro modelo recién desplegado, solo tenemos que llenar los campos dentro de esta pestaña y dar click en el botón Predict.

El valor que nos arroja en values corresponde a si esta persona incurriría en mora o no.

Este tipo de modelo se puede implementar en otros casos, siempre y cuando la variable sea binaria ( o No).

Les dejo un tutorial en video paso a paso en video de lo que acabamos de ver

¿Que te pareció?

Déjame en los comentarios si tienes alguna duda y que otro tipo de temáticas te gustaría que cubriera en un futuro…

--

--

Isaac Carrada
ibmdevelopermx

Developer/Startup Ecosystem Leader @ IBM| Technology Evangelist | Keynote Speaker | Solutions Architect