{"id":12630,"date":"2021-12-23T08:01:18","date_gmt":"2021-12-23T16:01:18","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=12630"},"modified":"2024-08-30T03:03:43","modified_gmt":"2024-08-30T10:03:43","slug":"how-couchbase-simplifies-data-science-part-2","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/how-couchbase-simplifies-data-science-part-2\/","title":{"rendered":"C\u00f3mo Couchbase simplifica la ciencia de datos (2\u00aa parte)"},"content":{"rendered":"<p><em>Este blog es coautor\u00eda de Karen Yuan, becaria de Secundaria<\/em><\/p>\n<p>En nuestra <a href=\"https:\/\/www.couchbase.com\/blog\/es\/how-couchbase-simplifies-data-science-part-1\/\">Art\u00edculo anterior,<\/a> aprendimos a hacer an\u00e1lisis exploratorio de datos usando el servicio Couchbase Query. Tambi\u00e9n 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\u00edculo, aprenderemos a hacer predicciones, almacenarlas en Couchbase y utilizar los gr\u00e1ficos de Query para analizarlas.<\/p>\n<h4>Predicci\u00f3n en tiempo real<\/h4>\n<p>El cient\u00edfico de datos utiliza el modelo entrenado para generar predicciones.<\/p>\n<p>Utilizaremos el flujo de predicci\u00f3n de la Figura 1 para predecir la puntuaci\u00f3n del churn en tiempo real y almacenaremos la predicci\u00f3n en Couchbase. Utilizaremos el modelo de predicci\u00f3n de churn que entrenamos en el art\u00edculo anterior.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-12631 size-full\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/12\/Screen-Shot-2021-12-22-at-12.38.55-PM.png\" alt=\"Real Time Prediction Flow\" width=\"701\" height=\"238\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/Screen-Shot-2021-12-22-at-12.38.55-PM.png 701w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/Screen-Shot-2021-12-22-at-12.38.55-PM-300x102.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/Screen-Shot-2021-12-22-at-12.38.55-PM-20x7.png 20w\" sizes=\"auto, (max-width: 701px) 100vw, 701px\" \/><\/p>\n<p><strong>Funci\u00f3n para leer el modelo y sus metadatos almacenados en Couchbase:<\/strong><\/p>\n<pre>def read_model_from_couchbase(model_id):\r\n\u00a0 \u00a0 \u00a0bucket = cluster.bucket('model_repository')\r\n\u00a0 \u00a0 \u00a0model_bytes = bucket.get(model_id).value\r\n\u00a0 \u00a0 \u00a0model = pickle.loads(model_bytes)\r\n\u00a0 \u00a0 \u00a0key = model_id + \"_metadata\"\r\n\u00a0 \u00a0 \u00a0feature_names = bucket.get(key).value['feature_names']\r\n\u00a0 \u00a0 \u00a0return {'model': model, 'feature_names': set(feature_names)}<\/pre>\n<p><strong>Funci\u00f3n para leer datos de clientes almacenados en Couchbase:<\/strong><\/p>\n<pre class=\"\"># We will use the Query interface in the Couchbase Python SDK to get multiple customer\r\n# records that satisfy a condition. Alternatively, the GET interface in the Couchbase Python SDK can \r\n# be used to get individual customer records e.g. bucket.get(customer_key).value\r\ndef read_data_from_couchbase(select_clause = \"\", where_clause = \"\"):\r\n     if select_clause:\r\n        query_statement = \"SELECT customer.*, \" + select_clause \r\n     else:\r\n        query_statement = \"SELECT customer.*\"\r\n\r\n     query_statement = query_statement + \" FROM `online_streaming` as customer\"\r\n\r\n     if where_clause:\r\n        query_statement = query_statement + \" WHERE \" + where_clause\r\n     # Use the Query API to get customer records\r\n     query_result = cb.query(query_statement)\r\n     return pd.DataFrame.from_dict(list(query_result))<\/pre>\n<p>Los siguientes <em>predecir<\/em> lee el modelo, sus metadatos y los registros de clientes utilizando las funciones anteriores. Convierte los datos del cliente en caracter\u00edsticas utilizando el mismo proceso que el utilizado durante el entrenamiento (es decir, codificaci\u00f3n de un solo paso). A continuaci\u00f3n, predice la puntuaci\u00f3n del churn ejecutando el modelo en las caracter\u00edsticas.<\/p>\n<pre class=\"\">def predict(model_id, select_clause = \"\", where_clause = \"\"):\r\n     # Step 1: Read the model and its metadata from Couchbase\r\n     rv = read_model_from_couchbase(model_id)\r\n     model = rv['model']\r\n     feature_names = rv['feature_names']\r\n\r\n     # Step 2: Read customer records from Couchbase\r\n     df = read_data_from_couchbase(select_clause, where_clause)\r\n     customer_prediction = df\r\n\r\n     # Step 3: Convert the raw data into features expected by the model\r\n     df = pd.get_dummies(df)\r\n     drop_cols = set(list(df.columns)) - feature_names\r\n     df.drop(drop_cols, axis = 1, inplace = True)\r\n     df = df.reindex(columns=feature_names, fill_value=0)\r\n     # Step 4: Predict\r\n     prediction = model.predict(df)\r\n     customer_prediction['Churn Prediction'] = prediction\r\n     return customer_prediction\r\n<\/pre>\n<pre class=\"\"># Example: Predict churn for a customer with given ID \r\nprediction = predict('churn_predictor_model_v1', where_clause = \"customer.CustomerID = 100002\")[['CustomerID', 'Churn Prediction']] \r\nprediction<\/pre>\n<p>Predicci\u00f3n de rotaci\u00f3n para <em>customerID 100002<\/em> es 1. Esto indica que es probable que abandonen el servicio de streaming.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-12632 size-full\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/12\/churn-prediction.png\" alt=\"churn prediction\" width=\"232\" height=\"45\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/churn-prediction.png 232w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/churn-prediction-20x4.png 20w\" sizes=\"auto, (max-width: 232px) 100vw, 232px\" \/><\/p>\n<p>La predicci\u00f3n se guarda en un bucket de Couchbase llamado predictions utilizando el c\u00f3digo que se muestra a continuaci\u00f3n. Crea el bucket de predicciones en tu cl\u00faster de Couchbase antes de continuar.<\/p>\n<pre class=\"\">bucket = cluster.bucket('predictions')\r\nto_save = prediction.to_dict(orient=\"records\")[0]\r\nkey = str(prediction.iloc[0]['CustomerID'])\r\nbucket.upsert(key, to_save)<\/pre>\n<p>Comprueba que la predicci\u00f3n se ha guardado correctamente en Couchbase.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-12633 size-full\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/12\/successful-prediction.png\" alt=\"\" width=\"453\" height=\"94\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/successful-prediction.png 453w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/successful-prediction-300x62.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/successful-prediction-450x94.png 450w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/successful-prediction-20x4.png 20w\" sizes=\"auto, (max-width: 453px) 100vw, 453px\" \/><\/p>\n<p>Tambi\u00e9n puedes ejecutar el modelo entrenado y generar predicciones en Couchbase Analytics usando la caracter\u00edstica Python UDF (actualmente en vista previa para desarrolladores). Consulta el art\u00edculo sobre <a href=\"https:\/\/www.couchbase.com\/blog\/es\/ml-meets-nosql-integrating-python-user-defined-functions-with-n1ql-for-analytics\/\">Ejecuci\u00f3n de modelos ML con Couchbase Analytics Python UDF<\/a> para m\u00e1s informaci\u00f3n.<\/p>\n<h4>An\u00e1lisis hipot\u00e9tico<\/h4>\n<p>El cient\u00edfico de datos analizar\u00e1 las predicciones para responder a preguntas que ayuden a tomar decisiones.<\/p>\n<p>El problema que definimos en el art\u00edculo anterior era el de un equipo de ventas de una empresa de servicios de streaming en l\u00ednea que quer\u00eda saber si el aumento del coste mensual maximizar\u00eda los ingresos manteniendo a raya la fuga de clientes.<\/p>\n<p>Para responder a esta pregunta, utilizaremos el siguiente c\u00f3digo para predecir las puntuaciones de rotaci\u00f3n cuando los costes mensuales aumenten en $1, $2, etc. Los resultados de este an\u00e1lisis se almacenar\u00e1n en el bucket de predicciones.<br \/>\nUtilizando la interfaz de usuario del cl\u00faster Couchbase, cree un \u00e1mbito llamado <em>an\u00e1lisis_y_si<\/em> y la colecci\u00f3n denominada <em>aumentar_coste_mensual<\/em> en el bucket de predicciones. (Los \u00e1mbitos y las colecciones est\u00e1n disponibles en Couchbase Server 7.0 y posteriores)<\/p>\n<pre class=\"\"># Connect to predictions bucket on Couchbase and relevant scope and collection\r\nbucket = cluster.bucket('predictions')\r\nwa_scope = bucket.scope(\"what_if_analysis\")\r\nwa_collection = wa_scope.collection(\"increase_monthly_cost\")\r\n# Predict the churn rate if the monthly cost of existing customers is increased by \r\n# $1, $2 .. $5\r\nfor increase_by in range (1, 6):\r\n      # where_cluase is set to customer.Churn = 0 because we are interested \r\n      # only in existing customers\r\n      # The following select_clause will update the MonthlyCost as shown while returning the\r\n      # query result. In each iteration of this loop the MonthlyCost will increase by $1, $2 ...\r\n      select_clause = \"customer.`MonthlyCost` + \" + str(increase_by) + \" as `MonthlyCost`\"\r\n      # The updated MonthlyCost is passed as input along with other attributes to the prediction\r\n      # function. The output tells which of the existing customers are likely to\r\n      # to churn if the MonthlyCost is increased by the specified amount. \r\n      rv = predict('churn_predictor_model_v1', select_clause = select_clause, where_clause = \"customer.Churn = 0\")\r\n      # Monthly revenues are predicted by adding the monthly cost of the customers not likely to churn.\r\n      rv['Predicted Monthly Revenue'] = (1 - rv['Churn Prediction']) * rv['MonthlyCost']\r\n      predicted_churn_rate = rv['Churn Prediction'].value_counts(normalize=True).mul(100)[1]\r\n      # Save predictions to Couchbase.\r\n      to_save = {'Monthly Cost Increase ($)': increase_by, \r\n      'Predicted Monthly Revenue': rv['Predicted Monthly Revenue'].sum(),\r\n      'Predicted Churn Rate': predicted_churn_rate}\r\n       key = \"increase_by_$\" + str(increase_by)\r\n       wa_collection.upsert(key, to_save)\r\n\r\n# Use the Query API to calculate current revenue. Store it also on the predictions bucket. This is \r\n# used for comparison\r\ncurrent = cb.query('SELECT sum(customer.`MonthlyCost`) as CurrentRevenue FROM `online_streaming` customer where customer.Churn = 0')\r\nto_save = {'Monthly Cost Increase ($)': 0, 'Predicted Monthly Revenue': list(current)[0]['CurrentRevenue'], 'Predicted Churn Rate': 0}\r\nwa_collection.upsert(\"current\", to_save)<\/pre>\n<p>Para analizar los resultados de la predicci\u00f3n mediante Couchbase Query, cree un \u00edndice primario en el archivo <em>an\u00e1lisis_y_si<\/em> tal y como se muestra en la siguiente interfaz de consulta. Tenga en cuenta que el contexto de consulta debe establecerse como se muestra.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-12634 size-large\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/12\/query-editor-1024x215.png\" alt=\"query editor\" width=\"900\" height=\"189\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/query-editor-1024x215.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/query-editor-300x63.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/query-editor-768x161.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/query-editor-20x4.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/query-editor.png 1087w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><br \/>\nSe pueden utilizar gr\u00e1ficos de consulta para analizar los resultados de la predicci\u00f3n. El gr\u00e1fico siguiente muestra que se prev\u00e9 que ~7% de los clientes existentes se dar\u00e1n de baja si su coste mensual aumenta en $1, ~10% probablemente se dar\u00e1n de baja si el coste mensual aumenta en $2, etc.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-12635 size-full\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/12\/querychart.png\" alt=\"query chart\" width=\"998\" height=\"520\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/querychart.png 998w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/querychart-300x156.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/querychart-768x400.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/querychart-20x10.png 20w\" sizes=\"auto, (max-width: 998px) 100vw, 998px\" \/><\/p>\n<p>El gr\u00e1fico siguiente muestra que los ingresos mensuales actuales son de $3,15 millones. Se prev\u00e9 que estos ingresos aumenten en ~$50K si el coste mensual de suscripci\u00f3n de los clientes existentes se incrementa en $1 y en ~$230k si el coste mensual se incrementa en $2. Pero se prev\u00e9 que los ingresos disminuyan si el coste mensual se incrementa en $3 o m\u00e1s debido a la mayor tasa de rotaci\u00f3n prevista.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-12636 size-full\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/12\/querychart2.png\" alt=\"querychart2\" width=\"916\" height=\"420\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/querychart2.png 916w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/querychart2-300x138.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/querychart2-768x352.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/querychart2-20x9.png 20w\" sizes=\"auto, (max-width: 916px) 100vw, 916px\" \/><br \/>\nUtilizando este an\u00e1lisis, podemos concluir que el equipo de ventas de la empresa de servicios de streaming online puede aumentar el coste de suscripci\u00f3n mensual en $2 para maximizar los ingresos y mantener a raya la tasa de rotaci\u00f3n.<\/p>\n<p>La opci\u00f3n \"Descargar gr\u00e1fico\" de la interfaz de consulta permite guardar los gr\u00e1ficos.<\/p>\n<h4>Servicio de an\u00e1lisis Couchbase<\/h4>\n<p>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\u00ed tienes un ejemplo para leer los datos de Couchbase y almacenarlos en un dataframe de pandas.<\/p>\n<pre class=\"\">analytics_result = cb.analytics_query(\"SELECT customer.* FROM online_streaming customer\")\r\nanalytics_raw_data = pd.DataFrame(analytics_result)<\/pre>\n<p><span style=\"font-weight: 400;\">El servicio Couchbase Analytics tambi\u00e9n se puede utilizar para EDA, visualizaci\u00f3n de datos y para ejecutar modelos ML entrenados (vista previa para desarrolladores). Consulte la <\/span><a href=\"https:\/\/docs.couchbase.com\/server\/current\/analytics\/introduction.html\"><span style=\"font-weight: 400;\">Referencia del lenguaje N1QL for Analytics<\/span><\/a><span style=\"font-weight: 400;\"> y el art\u00edculo sobre <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/es\/ml-meets-nosql-integrating-python-user-defined-functions-with-n1ql-for-analytics\/\"><span style=\"font-weight: 400;\">Ejecuci\u00f3n de modelos ML con Couchbase Analytics Python UDF<\/span><\/a><span style=\"font-weight: 400;\"> para m\u00e1s informaci\u00f3n.<\/span><\/p>\n<h4>Conclusi\u00f3n<\/h4>\n<p>En este art\u00edculo y en el anterior, aprendimos c\u00f3mo Couchbase facilita la ciencia de datos. Usando la predicci\u00f3n de p\u00e9rdida de clientes como ejemplo, vimos c\u00f3mo realizar an\u00e1lisis exploratorios usando el servicio Query, c\u00f3mo leer eficientemente grandes conjuntos de datos de entrenamiento usando el SDK de Python y c\u00f3mo almacenarlos f\u00e1cilmente en una estructura de datos adecuada para ML.<\/p>\n<p>Tambi\u00e9n vimos c\u00f3mo almacenar modelos ML, sus metadatos y predicciones en Couchbase y c\u00f3mo utilizar los gr\u00e1ficos Query para analizar predicciones.<\/p>\n<p>Couchbase Data Platform se puede utilizar para almacenar datos en bruto, caracter\u00edsticas, modelos ML, sus metadatos y predicciones en el mismo cl\u00faster que el que ejecuta los servicios de Query y Analytics. Esto hace que el proceso sea r\u00e1pido y sencillo al reducir el n\u00famero de herramientas necesarias para la ciencia de datos.<\/p>\n<h4><span style=\"font-weight: 400;\">Pr\u00f3ximos pasos<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">Si est\u00e1s interesado en aprender m\u00e1s sobre machine learning y Couchbase, aqu\u00ed tienes algunos pasos a seguir y recursos para empezar:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/capella\/\"><span style=\"font-weight: 400;\">Comience su prueba gratuita de Couchbase Cloud<\/span><\/a><span style=\"font-weight: 400;\"> - no requiere instalaci\u00f3n.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/resources.couchbase.com\/c\/server-arc-overview?x=V3nd_e&amp;ref=blog\"><span style=\"font-weight: 400;\">Couchbase bajo el cap\u00f3: una visi\u00f3n general de la arquitectura<\/span><\/a><span style=\"font-weight: 400;\"> - profundice en los detalles t\u00e9cnicos con este libro blanco.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Explorar Couchbase <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/n1ql\/?ref=blog\"><span style=\"font-weight: 400;\">Consulta<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/full-text-search\/?ref=blog\"><span style=\"font-weight: 400;\">B\u00fasqueda de texto completo<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/eventing\/?ref=blog\"><span style=\"font-weight: 400;\">Eventos<\/span><\/a><span style=\"font-weight: 400;\">y <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/analytics\/?ref=blog\"><span style=\"font-weight: 400;\">Anal\u00edtica<\/span><\/a><span style=\"font-weight: 400;\"> servicios.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Consulte estos blogs de ML:\u00a0<\/span>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><a href=\"https:\/\/www.couchbase.com\/blog\/es\/5-use-cases-for-prediction-serving-systems-with-couchbase\/?ref=blog\"><span style=\"font-weight: 400;\">Cinco casos de uso de Couchbase con su sistema de predicci\u00f3n en tiempo real<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><a href=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-machine-learning-model-store\/\"><span style=\"font-weight: 400;\">C\u00f3mo utilizar Couchbase como almac\u00e9n de modelos de aprendizaje autom\u00e1tico<\/span><\/a><span style=\"font-weight: 400;\">\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><a href=\"https:\/\/www.couchbase.com\/blog\/es\/ml-meets-nosql-integrating-python-user-defined-functions-with-n1ql-for-analytics\/\"><span style=\"font-weight: 400;\">Ejecutar modelos ML usando Couchbase Analytics Python UDF<\/span><\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>This blog is co-authored by Karen Yuan, a High School Intern In our previous article, we learned to do exploratory data analysis using the Couchbase Query service. We also learned to efficiently read training data with the Query APIs in [&hellip;]<\/p>","protected":false},"author":77870,"featured_media":12637,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816],"tags":[],"ppma_author":[9310],"class_list":["post-12630","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.2 (Yoast SEO v26.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How Couchbase Simplifies Data Science (Part 2) - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Run data science predictions on data stored in Couchbase using query, analytics, and charting features using churn analysis as an example.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/es\/how-couchbase-simplifies-data-science-part-2\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How Couchbase Simplifies Data Science (Part 2)\" \/>\n<meta property=\"og:description\" content=\"Run data science predictions on data stored in Couchbase using query, analytics, and charting features using churn analysis as an example.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/how-couchbase-simplifies-data-science-part-2\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-23T16:01:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-08-30T10:03:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/mimi-thian-5ZnS3wK6sUg-unsplash-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1920\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Poonam Dhavale, Principal Software Engineer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Poonam Dhavale, Principal Software Engineer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/\"},\"author\":{\"name\":\"Poonam Dhavale, Principal Software Engineer\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/f9b85919fd77b1ea51f7fd68a8be03fc\"},\"headline\":\"How Couchbase Simplifies Data Science (Part 2)\",\"datePublished\":\"2021-12-23T16:01:18+00:00\",\"dateModified\":\"2024-08-30T10:03:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/\"},\"wordCount\":917,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/mimi-thian-5ZnS3wK6sUg-unsplash-scaled.jpg\",\"articleSection\":[\"Couchbase Server\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/\",\"name\":\"How Couchbase Simplifies Data Science (Part 2) - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/mimi-thian-5ZnS3wK6sUg-unsplash-scaled.jpg\",\"datePublished\":\"2021-12-23T16:01:18+00:00\",\"dateModified\":\"2024-08-30T10:03:43+00:00\",\"description\":\"Run data science predictions on data stored in Couchbase using query, analytics, and charting features using churn analysis as an example.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/mimi-thian-5ZnS3wK6sUg-unsplash-scaled.jpg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/mimi-thian-5ZnS3wK6sUg-unsplash-scaled.jpg\",\"width\":2560,\"height\":1920},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How Couchbase Simplifies Data Science (Part 2)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/f9b85919fd77b1ea51f7fd68a8be03fc\",\"name\":\"Poonam Dhavale, Principal Software Engineer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/2055ba12b300559d639fe9ab89303c2b\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/07\/poonam-dhavale-couchbase.jpeg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/07\/poonam-dhavale-couchbase.jpeg\",\"caption\":\"Poonam Dhavale, Principal Software Engineer\"},\"description\":\"Poonam Dhavale is a Principal Software Engineer at Couchbase. She has over 20 years of experience in design and development of distributed systems, NoSQL, high availability, and storage technologies. She holds multiple patents in distributed storage systems and holds certifications in machine learning and data science.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/poonam-dhavale\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How Couchbase Simplifies Data Science (Part 2) - The Couchbase Blog","description":"Ejecutar predicciones de ciencia de datos en los datos almacenados en Couchbase utilizando funciones de consulta, an\u00e1lisis y gr\u00e1ficos utilizando el an\u00e1lisis de churn como ejemplo.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/es\/how-couchbase-simplifies-data-science-part-2\/","og_locale":"es_MX","og_type":"article","og_title":"How Couchbase Simplifies Data Science (Part 2)","og_description":"Run data science predictions on data stored in Couchbase using query, analytics, and charting features using churn analysis as an example.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/how-couchbase-simplifies-data-science-part-2\/","og_site_name":"The Couchbase Blog","article_published_time":"2021-12-23T16:01:18+00:00","article_modified_time":"2024-08-30T10:03:43+00:00","og_image":[{"width":2560,"height":1920,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/mimi-thian-5ZnS3wK6sUg-unsplash-scaled.jpg","type":"image\/jpeg"}],"author":"Poonam Dhavale, Principal Software Engineer","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Poonam Dhavale, Principal Software Engineer","Est. reading time":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/"},"author":{"name":"Poonam Dhavale, Principal Software Engineer","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/f9b85919fd77b1ea51f7fd68a8be03fc"},"headline":"How Couchbase Simplifies Data Science (Part 2)","datePublished":"2021-12-23T16:01:18+00:00","dateModified":"2024-08-30T10:03:43+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/"},"wordCount":917,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/mimi-thian-5ZnS3wK6sUg-unsplash-scaled.jpg","articleSection":["Couchbase Server"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/","url":"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/","name":"How Couchbase Simplifies Data Science (Part 2) - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/mimi-thian-5ZnS3wK6sUg-unsplash-scaled.jpg","datePublished":"2021-12-23T16:01:18+00:00","dateModified":"2024-08-30T10:03:43+00:00","description":"Ejecutar predicciones de ciencia de datos en los datos almacenados en Couchbase utilizando funciones de consulta, an\u00e1lisis y gr\u00e1ficos utilizando el an\u00e1lisis de churn como ejemplo.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/mimi-thian-5ZnS3wK6sUg-unsplash-scaled.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/mimi-thian-5ZnS3wK6sUg-unsplash-scaled.jpg","width":2560,"height":1920},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How Couchbase Simplifies Data Science (Part 2)"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/f9b85919fd77b1ea51f7fd68a8be03fc","name":"Poonam Dhavale, Ingeniera Principal de Software","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/2055ba12b300559d639fe9ab89303c2b","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/07\/poonam-dhavale-couchbase.jpeg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/07\/poonam-dhavale-couchbase.jpeg","caption":"Poonam Dhavale, Principal Software Engineer"},"description":"Poonam Dhavale es ingeniera principal de software en Couchbase. Tiene m\u00e1s de 20 a\u00f1os de experiencia en dise\u00f1o y desarrollo de sistemas distribuidos, NoSQL, alta disponibilidad y tecnolog\u00edas de almacenamiento. Tiene varias patentes en sistemas de almacenamiento distribuido y certificaciones en aprendizaje autom\u00e1tico y ciencia de datos.","url":"https:\/\/www.couchbase.com\/blog\/es\/author\/poonam-dhavale\/"}]}},"authors":[{"term_id":9310,"user_id":77870,"is_guest":0,"slug":"poonam-dhavale","display_name":"Poonam Dhavale, Principal Software Engineer","avatar_url":{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/07\/poonam-dhavale-couchbase.jpeg","url2x":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/07\/poonam-dhavale-couchbase.jpeg"},"author_category":"","last_name":"Dhavale","first_name":"Poonam","job_title":"","user_url":"","description":"Poonam Dhavale es ingeniera principal de software en Couchbase. Tiene m\u00e1s de 20 a\u00f1os de experiencia en dise\u00f1o y desarrollo de sistemas distribuidos, NoSQL, alta disponibilidad y tecnolog\u00edas de almacenamiento. Tiene varias patentes en sistemas de almacenamiento distribuido y certificaciones en aprendizaje autom\u00e1tico y ciencia de datos."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/12630","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/77870"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=12630"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/12630\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/12637"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=12630"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=12630"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=12630"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=12630"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}