Os cientistas de dados adoram os notebooks Jupyter - e faz uma combinação natural com o banco de dados de documentos do Couchbase.

Jupyter Notebook logo

Por quê? A Bloco de notas Jupyter O aplicativo da Web permite criar e compartilhar documentos que contêm texto narrativo, equações e similares para casos de uso como visualização de dados e aprendizado de máquina. Couchbase permite que você armazene e processe grandes quantidades de dados (semiestruturados e não estruturados) em escala e ofereça suporte aos tipos de dados dos quais o mundo está cheio: texto narrativo (publicações em mídias sociais etc.), equações e muito mais.

Nesta publicação, você aprenderá a estabelecer a conectividade entre um cluster do Couchbase e um Jupyter Notebook e, em seguida, extrair dados do Couchbase e usá-los para treinar um modelo de regressão linear para aprendizado de máquina. Examinaremos um exemplo para prever o valor de uma variável-alvo usando variáveis categóricas por meio de uma equação de regressão linear.

Carregando seus dados

Para começar, siga estas etapas para carregar o conjunto de dados de amostra:

  1. No Admin Console do cluster do Couchbase, vá para Buckets > Add Bucket para criar um novo bucket, conforme mostrado aqui:

    Add a bucket in the Couchbase cluster admin console
  2. Adicione documentos ao seu compartimento navegando até Documents > Add Document (Documentos > Adicionar documento), assim:

    Add documents to a Couchbase bucket

    ou fazer upload de uma lista de documentos JSON ou de um arquivo CSV. Para este exemplo, faremos upload de um arquivo CSV usando cbimport. Este é o aspecto do meu documento:

    CSV file upload using the cbimport tool

  3. O arquivo pode ser qualquer dado com o qual você queira trabalhar. Este exemplo usa o arquivo Conjunto de dados de publicidade do Kaggle.
  4. Vá para Documents > Import, conforme mostrado aqui:

    Import the Kaggle advertising dataset documents into Couchbase

  5. Selecione o arquivo que deseja importar e o intervalo de dados onde os documentos residem:

    Select the file in the Couchbase data bucket

    Seu menu Documentos agora deve ter a seguinte aparência:

    The documents menu in the Couchbase admin console

  6. No Admin Console, crie um índice primário para o bucket de dados para tornar os dados consultáveis, como você vê aqui:

    Add a primary index to a data bucket in the Couchbase Web Console

Instalando o Jupyter Notebook

Em primeiro lugar, Faça o download do exemplo do couchbase-jupyter do repositório do GitHub do Couchbase Labs. Em seguida, siga estas etapas:

  1. Instalar o Jupyter Notebook por meio do sistema de gerenciamento de pacotes Python (tubulação) ou Anaconda.
  2. Instale as dependências para esse projeto usando tubulação do requisitos em seu shell:
  3. Abra o Jupyter Notebook no shell.
  4. Crie um novo notebook com Python 3, como mostrado aqui:

    Making a new Jupyter Notebook using Python 3

O que é um modelo de regressão linear?

O modelo de regressão linear é poderoso para a análise preditiva, permitindo determinar a força das variáveis categóricas ou independentes, prever o efeito dessas variáveis e identificar tendências nos dados.

Como você pode deduzir pelo nome regressão linearSe a equação de regressão for uma linha, a "curva" que usamos para ajustar os dados é uma linha. A forma mais simples da equação de regressão é y = mx + c, onde y representa a variável-alvo, x representa uma única variável categórica e m e c são constantes. Usaremos uma equação de regressão linear simples em nosso exemplo.

As variáveis categóricas em nosso exemplo são TV, Rádio e Jornal. A variável alvo é Vendas.

Treinamento do nosso modelo de regressão linear

  1. No novo Jupyter Notebook, use o código mostrado abaixo para se conectar ao servidor Couchbase. Use seu nome de usuário e senha, é claro, em vez de Administrador e 123456.

    Connecting a Jupyter Notebook to Couchbase Server

  2. Importe as bibliotecas necessárias, mostradas na captura de tela aqui. Se essas bibliotecas não estiverem presentes em seu ambiente, faça o download das versões mais recentes dessas bibliotecas para o ambiente correto usando o gerenciador de pacotes Python, tubulação.

    Import required libraries using Python package manager

  3. Usando o SELECIONAR busque os dados do seu bucket de dados em um quadro de dados do pandas:

    Fetch data into a pandas data frame

  4. Você pode visualizar o conteúdo do quadro de dados do pandas usando o comando describe() como mostrado aqui:

    Using the describe command to view data frame contents

  5. Crie boxplots correspondentes aos valores de cada variável categórica para detectar valores discrepantes:

    Detect outliers using boxplot data visualization

  6. Crie gráficos de dispersão para cada variável categórica em relação à variável-alvo para determinar o grau de correlação.
    Observe que TV parece ter o mais alto grau de correlação.

    Categorical variable correlation using scatter plots for data visualization

  7. Divida o conjunto de dados, usando 60% dele para treinamento e os 40% restantes para teste. Agora podemos determinar o valor dos coeficientes na equação de regressão, quando a variável categórica é TV e a variável de destino é Vendas, usando o Método dos mínimos quadrados ordinários.

    Ordinary Least Squares method for regression testing

  8. Agora, treine o modelo usando o código que você vê aqui:

    Training data in a Jupyter notebook

  9. Em seguida, substitua teste para trem para usar o modelo para prever os valores do conjunto de teste, assim:

    Testing data for a TV variable in an advertising dataset

Usando a mesma abordagem, podemos treinar e testar um modelo com as variáveis categóricas Rádio e Jornaltambém:

Linear regression training data using a radio variable
Linear regression testing data using the radio variable
Training data in a Jupyter Notebook from Couchbase (newspaper variable)
Testing data in a Jupyter Notebook from Couchbase (newspaper variable)

Indo além com o aprendizado de máquina e o Couchbase

Agora que você já se familiarizou com a conexão Servidor Couchbase ao Jupyter Notebook e explorou o conceito de aprendizado de máquina da regressão linear, desenvolva esse conhecimento com estas postagens sobre como usar o Couchbase como um armazenamento de modelos de aprendizado de máquina e possibilitando insights orientados por IA usando o Couchbase.

Experimente você mesmo:

Obtenha o Couchbase 7 aqui

 
 
 

Autor

Postado por Agrima Khanna

Deixar uma resposta