Servidor Couchbase

Cómo Couchbase simplifica la ciencia de datos (2ª parte)

Este blog es coautoría de Karen Yuan, becaria de Secundaria

En nuestra Artículo anterior, aprendimos a hacer análisis exploratorio de datos usando el servicio Couchbase Query. También aprendimos a leer eficientemente datos de entrenamiento con las APIs de Query en el Couchbase Python SDK y a guardarlos sin problemas en un dataframe pandas adecuado para machine learning (ML). Y finalmente, almacenamos modelos de ML y sus metadatos en Couchbase. En este artículo, aprenderemos a hacer predicciones, almacenarlas en Couchbase y utilizar los gráficos de Query para analizarlas.

Predicción en tiempo real

El científico de datos utiliza el modelo entrenado para generar predicciones.

Utilizaremos el flujo de predicción de la Figura 1 para predecir la puntuación del churn en tiempo real y almacenaremos la predicción en Couchbase. Utilizaremos el modelo de predicción de churn que entrenamos en el artículo anterior.

Real Time Prediction Flow

Función para leer el modelo y sus metadatos almacenados en Couchbase:

Función para leer datos de clientes almacenados en Couchbase:

Los siguientes predecir lee el modelo, sus metadatos y los registros de clientes utilizando las funciones anteriores. Convierte los datos del cliente en características utilizando el mismo proceso que el utilizado durante el entrenamiento (es decir, codificación de un solo paso). A continuación, predice la puntuación del churn ejecutando el modelo en las características.

Predicción de rotación para customerID 100002 es 1. Esto indica que es probable que abandonen el servicio de streaming.

churn prediction

La predicción se guarda en un bucket de Couchbase llamado predictions utilizando el código que se muestra a continuación. Crea el bucket de predicciones en tu clúster de Couchbase antes de continuar.

Comprueba que la predicción se ha guardado correctamente en Couchbase.

También puedes ejecutar el modelo entrenado y generar predicciones en Couchbase Analytics usando la característica Python UDF (actualmente en vista previa para desarrolladores). Consulta el artículo sobre Ejecución de modelos ML con Couchbase Analytics Python UDF para más información.

Análisis hipotético

El científico de datos analizará las predicciones para responder a preguntas que ayuden a tomar decisiones.

El problema que definimos en el artículo anterior era el de un equipo de ventas de una empresa de servicios de streaming en línea que quería saber si el aumento del coste mensual maximizaría los ingresos manteniendo a raya la fuga de clientes.

Para responder a esta pregunta, utilizaremos el siguiente código para predecir las puntuaciones de rotación cuando los costes mensuales aumenten en $1, $2, etc. Los resultados de este análisis se almacenarán en el bucket de predicciones.
Utilizando la interfaz de usuario del clúster Couchbase, cree un ámbito llamado análisis_y_si y la colección denominada aumentar_coste_mensual en el bucket de predicciones. (Los ámbitos y las colecciones están disponibles en Couchbase Server 7.0 y posteriores)

Para analizar los resultados de la predicción mediante Couchbase Query, cree un índice primario en el archivo análisis_y_si tal y como se muestra en la siguiente interfaz de consulta. Tenga en cuenta que el contexto de consulta debe establecerse como se muestra.

query editor
Se pueden utilizar gráficos de consulta para analizar los resultados de la predicción. El gráfico siguiente muestra que se prevé que ~7% de los clientes existentes se darán de baja si su coste mensual aumenta en $1, ~10% probablemente se darán de baja si el coste mensual aumenta en $2, etc.

query chart

El gráfico siguiente muestra que los ingresos mensuales actuales son de $3,15 millones. Se prevé que estos ingresos aumenten en ~$50K si el coste mensual de suscripción de los clientes existentes se incrementa en $1 y en ~$230k si el coste mensual se incrementa en $2. Pero se prevé que los ingresos disminuyan si el coste mensual se incrementa en $3 o más debido a la mayor tasa de rotación prevista.

querychart2
Utilizando este análisis, podemos concluir que el equipo de ventas de la empresa de servicios de streaming online puede aumentar el coste de suscripción mensual en $2 para maximizar los ingresos y mantener a raya la tasa de rotación.

La opción "Descargar gráfico" de la interfaz de consulta permite guardar los gráficos.

Servicio de análisis Couchbase

Hemos utilizado la API de Couchbase Query en el SDK de Python para leer los datos de Couchbase. Si quieres usar la API de Couchbase Analytics en su lugar, aquí tienes un ejemplo para leer los datos de Couchbase y almacenarlos en un dataframe de pandas.

El servicio Couchbase Analytics también se puede utilizar para EDA, visualización de datos y para ejecutar modelos ML entrenados (vista previa para desarrolladores). Consulte la Referencia del lenguaje N1QL for Analytics y el artículo sobre Ejecución de modelos ML con Couchbase Analytics Python UDF para más información.

Conclusión

En este artículo y en el anterior, aprendimos cómo Couchbase facilita la ciencia de datos. Usando la predicción de pérdida de clientes como ejemplo, vimos cómo realizar análisis exploratorios usando el servicio Query, cómo leer eficientemente grandes conjuntos de datos de entrenamiento usando el SDK de Python y cómo almacenarlos fácilmente en una estructura de datos adecuada para ML.

También vimos cómo almacenar modelos ML, sus metadatos y predicciones en Couchbase y cómo utilizar los gráficos Query para analizar predicciones.

Couchbase Data Platform se puede utilizar para almacenar datos en bruto, características, modelos ML, sus metadatos y predicciones en el mismo clúster que el que ejecuta los servicios de Query y Analytics. Esto hace que el proceso sea rápido y sencillo al reducir el número de herramientas necesarias para la ciencia de datos.

Próximos pasos

Si estás interesado en aprender más sobre machine learning y Couchbase, aquí tienes algunos pasos a seguir y recursos para empezar:

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Poonam Dhavale, Ingeniera Principal de Software

Poonam Dhavale es ingeniera principal de software en Couchbase. Tiene más de 20 años de experiencia en diseño y desarrollo de sistemas distribuidos, NoSQL, alta disponibilidad y tecnologías de almacenamiento. Tiene varias patentes en sistemas de almacenamiento distribuido y certificaciones en aprendizaje automático y ciencia de datos.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.