{"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\/pt\/how-couchbase-simplifies-data-science-part-2\/","title":{"rendered":"Como o Couchbase simplifica a ci\u00eancia de dados (Parte 2)"},"content":{"rendered":"<p><em>Este blog tem a coautoria de Karen Yuan, estagi\u00e1ria do ensino m\u00e9dio<\/em><\/p>\n<p>Em nosso <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/how-couchbase-simplifies-data-science-part-1\/\">Artigo anterior,<\/a> aprendemos a fazer an\u00e1lise explorat\u00f3ria de dados usando o servi\u00e7o Couchbase Query. Tamb\u00e9m aprendemos a ler com efici\u00eancia os dados de treinamento com as APIs de consulta no Couchbase Python SDK e a salv\u00e1-los perfeitamente em um dataframe pandas adequado para aprendizado de m\u00e1quina (ML). E, por fim, armazenamos modelos de ML e seus metadados no Couchbase. Neste artigo, aprenderemos a fazer previs\u00f5es, armazen\u00e1-las no Couchbase e usar os gr\u00e1ficos de consulta para analis\u00e1-las.<\/p>\n<h4>Previs\u00e3o em tempo real<\/h4>\n<p>O cientista de dados usa o modelo treinado para gerar previs\u00f5es.<\/p>\n<p>Usaremos o fluxo de previs\u00e3o da Figura 1 para prever a pontua\u00e7\u00e3o de rotatividade em tempo real e armazenar a previs\u00e3o no Couchbase. Usaremos o modelo de previs\u00e3o de rotatividade que treinamos no artigo 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>Fun\u00e7\u00e3o para ler o modelo e seus metadados armazenados no 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>Fun\u00e7\u00e3o para ler os dados do cliente armazenados no 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>O seguinte <em>prever<\/em> l\u00ea o modelo, seus metadados e registros de clientes usando as fun\u00e7\u00f5es acima. Ela converte os dados do cliente em recursos usando o mesmo processo usado durante o treinamento (ou seja, codifica\u00e7\u00e3o de um ponto). Em seguida, ela prev\u00ea a pontua\u00e7\u00e3o de rotatividade executando o modelo nos recursos.<\/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>Previs\u00e3o de rotatividade para <em>ID do cliente 100002<\/em> \u00e9 1, o que indica que eles provavelmente deixar\u00e3o o servi\u00e7o 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>A previs\u00e3o \u00e9 salva em um bucket do Couchbase chamado previs\u00f5es usando o c\u00f3digo mostrado abaixo. Crie o bucket de previs\u00f5es em seu cluster do 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>Verifique se a previs\u00e3o foi salva com \u00eaxito no 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>Voc\u00ea tamb\u00e9m pode executar o modelo treinado e gerar previs\u00f5es no Couchbase Analytics usando o recurso Python UDF (atualmente em visualiza\u00e7\u00e3o para desenvolvedores). Consulte o artigo sobre <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/ml-meets-nosql-integrating-python-user-defined-functions-with-n1ql-for-analytics\/\">Execu\u00e7\u00e3o de modelos de ML usando o Couchbase Analytics Python UDF<\/a> para obter mais informa\u00e7\u00f5es.<\/p>\n<h4>An\u00e1lise de varia\u00e7\u00f5es hipot\u00e9ticas<\/h4>\n<p>O cientista de dados analisar\u00e1 as previs\u00f5es para responder a perguntas que ajudem a tomar decis\u00f5es.<\/p>\n<p>O problema que definimos no artigo anterior era uma equipe de vendas da empresa de servi\u00e7os de streaming on-line que queria saber se o aumento do custo mensal maximizaria a receita e, ao mesmo tempo, manteria a rotatividade de clientes sob controle.<\/p>\n<p>Para responder a isso, usaremos o c\u00f3digo abaixo para prever as pontua\u00e7\u00f5es de rotatividade quando os custos mensais forem aumentados em $1, $2 etc. Os resultados dessa an\u00e1lise ser\u00e3o armazenados no bucket de previs\u00f5es.<br \/>\nUsando a interface do usu\u00e1rio do cluster do Couchbase, crie um escopo chamado <em>an\u00e1lise what_if<\/em> e uma cole\u00e7\u00e3o chamada <em>increase_monthly_cost<\/em> no bucket de previs\u00f5es. (Os escopos e as cole\u00e7\u00f5es est\u00e3o dispon\u00edveis no Couchbase Server 7.0 e posterior)<\/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 analisar os resultados da previs\u00e3o usando o Couchbase Query, crie um \u00edndice prim\u00e1rio no <em>an\u00e1lise what_if<\/em> conforme mostrado na interface do usu\u00e1rio da consulta abaixo. Observe que o contexto da consulta deve ser definido conforme mostrado.<\/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 \/>\nOs gr\u00e1ficos de consulta podem ser usados para analisar os resultados da previs\u00e3o. O gr\u00e1fico abaixo mostra que ~7% dos clientes existentes t\u00eam previs\u00e3o de cancelamento se o custo mensal for aumentado em $1, ~10% provavelmente cancelar\u00e3o se o custo mensal for aumentado em $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>O gr\u00e1fico abaixo mostra que a receita mensal atual \u00e9 de $3,15 milh\u00f5es. Prev\u00ea-se que essa receita aumente em ~$50K se o custo da assinatura mensal dos clientes existentes for aumentado em $1 e em ~$230k se o custo mensal for aumentado em $2. Mas prev\u00ea-se que a receita diminua se o custo mensal for aumentado em $3 ou mais, devido \u00e0 maior taxa de rotatividade 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 \/>\nCom essa an\u00e1lise, podemos concluir que a equipe de vendas da empresa de servi\u00e7os de streaming on-line pode aumentar o custo da assinatura mensal em $2 para maximizar a receita e, ao mesmo tempo, manter a taxa de rotatividade sob controle.<\/p>\n<p>A op\u00e7\u00e3o \"Download chart\" (Baixar gr\u00e1fico) na interface do usu\u00e1rio da consulta pode ser usada para salvar os gr\u00e1ficos.<\/p>\n<h4>Servi\u00e7o de an\u00e1lise do Couchbase<\/h4>\n<p>Usamos a API de consulta do Couchbase no Python SDK para ler dados do Couchbase. Se, em vez disso, voc\u00ea quiser usar a API do Couchbase Analytics, aqui est\u00e1 um exemplo para ler os dados do Couchbase e armazen\u00e1-los em um dataframe do 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;\">O servi\u00e7o Couchbase Analytics tamb\u00e9m pode ser usado para EDA, visualiza\u00e7\u00e3o de dados e para executar modelos de ML treinados (visualiza\u00e7\u00e3o do desenvolvedor). Consulte a se\u00e7\u00e3o <\/span><a href=\"https:\/\/docs.couchbase.com\/server\/current\/analytics\/introduction.html\"><span style=\"font-weight: 400;\">Refer\u00eancia da linguagem N1QL for Analytics<\/span><\/a><span style=\"font-weight: 400;\"> e o artigo sobre <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/ml-meets-nosql-integrating-python-user-defined-functions-with-n1ql-for-analytics\/\"><span style=\"font-weight: 400;\">Execu\u00e7\u00e3o de modelos de ML usando o Couchbase Analytics Python UDF<\/span><\/a><span style=\"font-weight: 400;\"> para obter mais informa\u00e7\u00f5es.<\/span><\/p>\n<h4>Conclus\u00e3o<\/h4>\n<p>Neste artigo e no anterior, aprendemos como o Couchbase facilita a ci\u00eancia de dados. Usando a previs\u00e3o de rotatividade de clientes como exemplo, vimos como realizar an\u00e1lises explorat\u00f3rias usando o servi\u00e7o Query, como ler com efici\u00eancia grandes conjuntos de dados de treinamento usando o Python SDK e como armazen\u00e1-los facilmente em uma estrutura de dados adequada para ML.<\/p>\n<p>Tamb\u00e9m vimos como armazenar modelos de ML, seus metadados e previs\u00f5es no Couchbase e como usar os gr\u00e1ficos de consulta para analisar as previs\u00f5es.<\/p>\n<p>A plataforma de dados Couchbase pode ser usada para armazenar dados brutos, recursos, modelos de ML, seus metadados e previs\u00f5es no mesmo cluster que executa os servi\u00e7os de consulta e an\u00e1lise. Isso torna o processo r\u00e1pido e f\u00e1cil, reduzindo o n\u00famero de ferramentas necess\u00e1rias para a ci\u00eancia de dados.<\/p>\n<h4><span style=\"font-weight: 400;\">Pr\u00f3ximas etapas<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">Se voc\u00ea estiver interessado em aprender mais sobre aprendizado de m\u00e1quina e Couchbase, aqui est\u00e3o algumas etapas e recursos excelentes para voc\u00ea come\u00e7ar:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/products\/capella\/\"><span style=\"font-weight: 400;\">Inicie sua avalia\u00e7\u00e3o gratuita do Couchbase Cloud<\/span><\/a><span style=\"font-weight: 400;\"> - N\u00e3o \u00e9 necess\u00e1ria instala\u00e7\u00e3o.<\/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 Under the Hood: uma vis\u00e3o geral da arquitetura<\/span><\/a><span style=\"font-weight: 400;\"> - Aprofunde-se nos detalhes t\u00e9cnicos com este white paper.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Explore o Couchbase <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/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\/pt\/products\/full-text-search\/?ref=blog\"><span style=\"font-weight: 400;\">Pesquisa de texto completo<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/products\/eventing\/?ref=blog\"><span style=\"font-weight: 400;\">Eventos<\/span><\/a><span style=\"font-weight: 400;\">e <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/products\/analytics\/?ref=blog\"><span style=\"font-weight: 400;\">An\u00e1lises<\/span><\/a><span style=\"font-weight: 400;\"> servi\u00e7os.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">D\u00ea uma olhada nesses blogs do ML:\u00a0<\/span>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/5-use-cases-for-prediction-serving-systems-with-couchbase\/?ref=blog\"><span style=\"font-weight: 400;\">Cinco casos de uso para usar o Couchbase com seu sistema de fornecimento de previs\u00f5es em tempo real<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-machine-learning-model-store\/\"><span style=\"font-weight: 400;\">Como usar o Couchbase como um armazenamento de modelos de aprendizado de m\u00e1quina<\/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\/pt\/ml-meets-nosql-integrating-python-user-defined-functions-with-n1ql-for-analytics\/\"><span style=\"font-weight: 400;\">Execu\u00e7\u00e3o de modelos de ML usando o 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.1 (Yoast SEO v26.1.1) - 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\/pt\/how-couchbase-simplifies-data-science-part-2\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\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\/pt\/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\":\"pt-BR\",\"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\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@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\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@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\":\"pt-BR\",\"@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\/pt\/author\/poonam-dhavale\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How Couchbase Simplifies Data Science (Part 2) - The Couchbase Blog","description":"Execute previs\u00f5es de ci\u00eancia de dados em dados armazenados no Couchbase usando recursos de consulta, an\u00e1lise e gr\u00e1ficos, usando a an\u00e1lise de rotatividade como exemplo.","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\/pt\/how-couchbase-simplifies-data-science-part-2\/","og_locale":"pt_BR","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\/pt\/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":"pt-BR","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":"Execute previs\u00f5es de ci\u00eancia de dados em dados armazenados no Couchbase usando recursos de consulta, an\u00e1lise e gr\u00e1ficos, usando a an\u00e1lise de rotatividade como exemplo.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/how-couchbase-simplifies-data-science-part-2\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@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":"Blog do Couchbase","description":"Couchbase, o banco de dados 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":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@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, engenheiro de software principal","image":{"@type":"ImageObject","inLanguage":"pt-BR","@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 \u00e9 engenheira de software principal da Couchbase. Ela tem mais de 20 anos de experi\u00eancia em projeto e desenvolvimento de sistemas distribu\u00eddos, NoSQL, alta disponibilidade e tecnologias de armazenamento. Ela det\u00e9m v\u00e1rias patentes em sistemas de armazenamento distribu\u00eddo e possui certifica\u00e7\u00f5es em aprendizado de m\u00e1quina e ci\u00eancia de dados.","url":"https:\/\/www.couchbase.com\/blog\/pt\/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 \u00e9 engenheira de software principal da Couchbase. Ela tem mais de 20 anos de experi\u00eancia em projeto e desenvolvimento de sistemas distribu\u00eddos, NoSQL, alta disponibilidade e tecnologias de armazenamento. Ela det\u00e9m v\u00e1rias patentes em sistemas de armazenamento distribu\u00eddo e possui certifica\u00e7\u00f5es em aprendizado de m\u00e1quina e ci\u00eancia de dados."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/12630","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/77870"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=12630"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/12630\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/12637"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=12630"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=12630"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=12630"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=12630"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}