Alura > Cursos de Inteligência Artificial > Cursos de IA para Dados > Conteúdos de IA para Dados > Primeiras aulas do curso Machine Learning: utilizando ChatGPT como assistente

Machine Learning: utilizando ChatGPT como assistente

Análise exploratória dos dados - Apresentação

Boas-vindas ao curso de Machine Learning: utilizando ChatGPT como assistente. Meu nome é Valquiria e serei sua instrutora.

Valquíria Alencar é uma mulher branca de olhos castanhos. Tem cabelos loiros e lisos abaixo dos ombros. Usa piercing no septo e uma blusa preta. Ao fundo, estúdio com iluminação degradê entre o laranja e o verde. À esquerda, um vaso de planta e, à esquerda, uma estante com decorações.

Você já pensou em usar o ChatGPT como um assistente para te auxiliar no desenvolvimento de um projeto de machine learning?

É exatamente isso que faremos nesse curso. Utilizaremos a IA para gerar códigos, ter insights e analisar os resultados, tudo isso de forma otimizada.

No decorrer das aulas, trabalharemos como pessoas cientistas de dados de uma instituição financeira.

Criaremos um modelo de Machine Learning que possa classificar os clientes em relação à adesão ou não ao empréstimo pessoal.

Para o desenvolvimento de todo o projeto, incluindo etapas como carregamento de dados, exploração e visualização, utilizaremos prompts que já foram criados e testados no ChatGPT.

Esse material está disponível no nosso notebook, você pode realizar o download e testá-lo. Lembrando que, provavelmente o seu resultado será um pouco diferente dessa aula, pois o ChatGPT trabalha com a aleatoriedade.

Para que você tenha um bom proveito desse curso, é recomendado que você tenha conhecimento em Pyhton, Pandas e Machine Learning.

Vamos começar?

Análise exploratória dos dados - Importando os dados

Uma instituição financeira quer começar uma campanha de marketing para oferecer empréstimo pessoal para os clientes.

Atuaremos como cientistas de dados nesse banco e tentaremos otimizar a campanha e ser tornar um sucesso.

A partir de dados dos clientes, disponíveis no GitHub, construiremos um modelo de machine learning para classificarmos as pessoas que são mais propensas a aderirem o empréstimo.

Importando os dados

Para isso, utilizaremos o Google Colab. Criamos um projeto e na primeira célula, passamos a variável url que contém o endereço do arquivo com os dados no formato .xlsx, ou seja, Excel.

url = 'https://github.com/alura-cursos/machine_learning_chatgpt/blob/main/Dados/emprestimo.xlsx?raw=true'

Agora, utilizaremos o ChatGPT para nos auxiliar no desenvolvimento de todo o projeto.

Isso não significa que a IA fará nosso trabalho. Analisaremos as respostas obtidas com uma percepção crítica de uma pessoa cientista de dados e a partir disso criaremos o projeto.

Começamos abrindo o navegador e acessando o site da OpenAI. Nesse curso, utilizaremos a versão gratuita 3.5, sendo assim, basta criar uma conta e realizar o login.

Feito isso, na página inicial, clicamos em "New chat", localizado no topo esquerdo da tela. É nessa aba que enviaremos os prompts.

Recomendamos que você envie os prompts sempre no mesmo chat, assim não precisara explicar para a IA novamente o que está sendo feito.

Copiamos o primeiro prompt e colamos no chat.

Quero que você atue como um cientista de dados e codifique para mim. 
Estou desenvolvendo um projeto de Machine Learning sobre clientes de uma instituição financeira aceitarem um empréstimo pessoal.
Tenho o endereço do dataset no formato xlsx armazenado em uma variável chamada "url" . Escreva o código em Python para importar os dados.

No decorrer do curso você irá entender que existem boas práticas que devem ser seguidas nos prompts para que os resultados sejam otimizados.

Para executar o prompt apertamos "Enter" ou então clicamos no botão indicado por uma seta, no lado inferior direito da tela. Feito isso, temos o retorno abaixo.

Claro! Posso ajudá-lo com o código para importar os dados do arquivo Excel (xlsx) em Python. Vamos usar a biblioteca pandas para isso. Certifique-se de ter a biblioteca pandas Instalada em seu ambiente Python.

Aqui está o código para importar os dados do arquivo Excel:

import pandas as pd

url = "caminho/para/o/seu/arquivo.xlsx"
dados = pd.read_excel(url)

#Exibir as primeiras linhas do DataFrame para verificar se os dados foram importados corretamente
print(dados.head())

Certifique-se de substituir "caminho_para_o_arquivo.xlsx" pelo caminho real do arquivo xlsx que você possui. O código utiliza a função read_excel() da biblioteca pandas para ler o arquivo e armazenar os dados em um DataFrame chamado "dados". Em seguida, o código Imprime as primeiras linhas do DataFrame para verificar se os dados foram Importados corretamente.

Nesse caso, já temos a biblioteca Pandas instalada no Google Colab. Então, copiamos esse código gerado e colamos em uma nova célula.

Agora, apagamos o caminho da url e colamos o endereço que inserimos no início dessa aula.Dessa forma:

import pandas as pd

url = "https://github.com/alura-cursos/machine_learning_chatgpt/blob/main/Dados/emprestimo.xlsx?raw=true"
dados = pd.read_excel(url)

#Exibir as primeiras linhas do DataFrame para verificar se os dados foram importados corretamente
print(dados.head())

Apertamos "Shift + Enter" para executar. Repare que, como foi utilizado a função print(), o dataframe não fica visualmente bom.

IDAgeExperienceIncomeZIP CodeFamilyCCAvgEducationMortgage\
01251499110741.610
124519349008931.510
233915119472011.010
343591009411212.720
45358459133041.020
Personal LoanSecurities AccountCD AccountOnlineCreditCard
001000
101000
200000
300000
400001

A seguir exploraremos melhor esses dados e a formatação dataframe. Até lá!

Análise exploratória dos dados - Explorando os dados

Conseguimos carregar os nossos dados no dataframe, agora começaremos a explorar esses dados.

Explorando os dados

Para isso, consultaremos o ChatGPT. Copiamos o prompt, colamos e apertamos "Enter".

Os dados foram carregados e armazenados na variável "df".
Escreva o código para exploração de dados para que os resultados sejam exibidos sem a necessidade de usar a função `print()`.
Adicione um comentário em cada código para saber do que se trata.

Repare que, no prompt avisamos que os dados foram carregados e armazenados na variável df. Mas, se analisarmos nosso código, usamos dados ao invés de df.

Para corrigir, abrimos o Colab e fazemos essa substituição, em seguida executamos novamente o código.

import pandas as pd

url = 'https://github.com/alura-cursos/machine_learning_chatgpt/blob/main/Dados/emprestimo.xlsx?raw=true'

# Carregar o arquivo Excel para um dataframe
df = pd.read_excel(url)

# Exibir as primeiras linhas do dataframe para verificar se os dados foram importados corretamente
print(df.head())

Continuando a análise do prompt, repare que colocamos a variável entre aspas. É sempre muito importante adotar boas práticas na criação do prompt. As aspas são muito importantes para indicar data frames, classes, ou métodos, por exemplo.

Em seguida, pedimos para escrever o código para exploração de dados para que o resultado seja exibido sem a função print().

Quando executamos o código anteriormente o print foi exibido de uma forma que não é tão bacana visualmente. Por isso, pedimos para que use apenas as funções e métodos da biblioteca pandas.

Por fim, pedimos para que seja adicionado um comentário em cada código para conseguirmos entender cada trecho. Agora, podemos enviar o prompt apertando "Enter".

Assim, temos o seguinte retorno:

Claro! Aqui está o código com comentários explicando cada etapa da exploração de dados, utilizando a variável "df" para representar o DataFrame com os dados carregados:

import pandas as pd

# Carregar dados do arquivo Excel para o DataFrame "df" 
url = "caminho_para_o_arquivo.xlsx"
df = pd.read_excel (url)

# Exibir as primeiras 5 linhas do DataFrame
df.head()

# Exibir o número de linhas e colunas do DataFrame
df.shape

# Obter informações resumidas sobre as colunas do DataFrame
df.info()

# Exibir estatísticas descritivas para as colunas numéricas do DataFrame
df.describe()

# Contar o número de valores únicos em cada coluna do DataFrame
df.nunique()

# Exibir a contagem de valores em uma coluna especifica do DataFrame 
df['nome da coluna ].value_counts()

# Verificar se existem valores ausentes (NaN) em cada coluna do DataFrame
df.isnull().sum()

# Exibir a correlação entre as colunas numéricas do DataFrame
df.corr()

A IA indicou o código com comentários explicando cada etapa da exploração e utilizando a variável df para representar o dataframe.

Repare que no início do código a ferramenta novamente coloca a importação do pandas e a url, como já fizemos isso, não precisamos desse trecho.

Seguindo para o próximo, temos a função df.head(). Copiamos e colamos em uma nova célula do Colab.

df.head()

Ao executá-la, temos o seguinte dataframe:

-IDAgeExperienceIncomeZIP CodeFamilyCCAvgEducationMortgagePersonal LoanSecurities AccountCD AccountOnlineCreditCard
01251499110741.61001000
124519349008931.51001000
233915119472011.01000000
343591009411212.72000000
45358459133041.02000001

Percebemos que o dataframe fica visualmente mais organizado e mais fácil de ser compreendido.

Nas colunas encontramos informações sobre os clientes dessa instituição financeira, como ID, Age, Experience, Income entre outros que vamos explorar e entender mais afundo em breve.

Agora, voltamos no ChatGPT e copiamos o pd.shape pra exibir o número de linhas e colunas o dataframe. Colamos no Colab e executamos a célula.

#Exibir o número de linhas e colunas do DataFrame
df.shape

Temos o seguinte retorno:

(5000, 14)

Isso significa que existem 5000 linhas, que provavelmente indicam a quantidade de clientes do banco, e 14 colunas com as informações.

Voltamos no ChatGPT, copiamos o código seguinte df.info() colamos no Colab e executamos.

#Verificar as informações básicas sobre o DataFrame
df.info()

É imprimido o seguinte retorno:

<class 'pandas.core.frame.DataFrame'> RangeIndex: 5000 entries, 0 to 4999 Data columns (total 14 columns):

#ColumnNon-Null CountDtype
----------------------------
0ID5000 non-nullint64
1Age5000 non-nullint64
2Experience5000 non-nullint64
3Income5000 non-nullint64
4ZIP Code5000 non-nullint64
5Family5000 non-nullint64
6CCAvg5000 non-nullfloat64
7Education5000 non-nullint64
8Mortgage5000 non-nullint64
9Personal Loan5000 non-nullint64
10Securities Account5000 non-nullint64
11CD Account5000 non-nullint64
12Online5000 non-nullint64
13CreditCard5000 non-nullint64
dtypes: float64(1), int64(13)
memory usage: 547.0 KB

Analisando essa tabela, notamos que não temos dados nulos. Isso é ótimo, afinal, não precisamos realizar nenhum tratamento. Além disso, o CCAvg aparece como tipo float e o restante como tipo inteiro.

O próximo código é o describe(), uma função utilizada para obter as principais estatísticas dos dados.

Colando e executando, temos alguns valores estatísticos. Primeiro temos a contagem que são 5000 linhas em cada coluna, uma média para cada valor, o desvio padrão, valor mínimo, máximo e os quartis de 25%, 50%, 75%.

-IDAgeExperienceIncomeZIP CodeFamilyCCAvgEducationMortgagePersonal LoanSecurities AccountCD AccountOnlineCreditCard
count5000.0000005000.0000005000.0000005000.0000005000.0000005000.0000005000.0000005000.0000005000.0000005000.0000005000.0000005000.000005000.0000005000.000000
mean2500.50000045.33840020.10460073.77420093152.5030002.3964001.9379131.88100056.4988000.0960000.1044000.060400.5968000.294000
std1443.52000311.46316611.46795446.0337292121.8521971.1476631.7476660.839869101.7138020.2946210.3058090.238250.4905890.455637
min1.00000023.000000-3.0000008.0000009307.0000001.0000000.0000001.0000000.0000000.0000000.0000000.000000.0000000.000000
25%1250.75000035.00000010.00000039.00000091911.0000001.0000000.7000001.0000000.0000000.0000000.0000000.000000.0000000.000000
50%2500.50000045.00000020.00000064.00000093437.0000002.0000001.5000002.0000000.0000000.0000000.0000000.000001.0000000.000000
75%3750.25000055.00000030.00000098.00000094608.0000003.0000002.5000003.000000101.0000000.0000000.0000000.000001.0000001.000000
max5000.00000067.00000043.000000224.00000096651.0000004.00000010.0000003.000000635.0000001.0000001.0000001.000001.0000001.000000

É muito importante analisarmos esses dados. Na coluna Experiência, por exemplo, temos um valor de médio de 20 anos de experiência e mínimo de -3.

Acho que isso não existe, não é mesmo? Encontramos algo que precisa ser tratado.

Em sequência, temos o df.nunique() que conta quantos valores únicos temos em cada coluna.

#Contar o número de valores únicos em cada coluna
df.nunique()

Feito isso, o retorno abaixo:

ID5000
Age45
Experience47
Income162
ZIP Code467
Family4
CCAvg108
Education3
Mortgage347
Personal Loan2
Securities Account2
CD Account2
Online2
CreditCard2
dtype: int64

Temos 5000 IDs únicos, ou seja, um para cada pessoa. Também temos outra coisa interessante.

Repare que a partir do "Personal Loan" temos apenas dois valores diferentes em cada coluna. Certamente são dados binários em que temos um valor zero que representa algo que a pessoa não tenha e 1 para algo que tenha.

Para finalizar, o ChatGPT sugere a exibição da contagem de valores de uma coluna específica, muito interessante para verificar a frequência de alguma categoria.

Copiamos o código, colamos no Colab e, entre aspas simples, adicionamos o nome da coluna Personal Loan. Em seguida executamos.

#Calcular a contagem de valores para uma coluna específica
df['Personal Loan'].value_counts()

Na categoria zero temos 4520 dados e na categoria um apenas 480.

0 4520 1 480 Name: Personal Loan, dtype: int64

Também podemos descobrir qual é a porcentagem de cada categoria. Para isso, nas chaves, passamos normalize=True * 100.

#Calcular a contagem de valores para uma coluna específica
df['Personal Loan'].value_counts(normalize=True * 100)

Ao executar temos o retorno:

0 90.4 1 9.6 Name: Personal Loan, dtype: float64

Há uma diferença bem grande entre as variáveis.

No vídeo seguinte entenderemos mais sobre as variáveis e exploraremos a visualização de dados.

Te esperamos lá!

Sobre o curso Machine Learning: utilizando ChatGPT como assistente

O curso Machine Learning: utilizando ChatGPT como assistente possui 163 minutos de vídeos, em um total de 59 atividades. Gostou? Conheça nossos outros cursos de IA para Dados em Inteligência Artificial, ou leia nossos artigos de Inteligência Artificial.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda IA para Dados acessando integralmente esse e outros cursos, comece hoje!

Plus

De
R$ 1.800
12X
R$109
à vista R$1.308
  • Acesso a TODOS os cursos da Alura

    Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

Matricule-se

Pro

De
R$ 2.400
12X
R$149
à vista R$1.788
  • Acesso a TODOS os cursos da Alura

    Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Luri, a inteligência artificial da Alura

    Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com Luri até 100 mensagens por semana.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

Matricule-se
Conheça os Planos para Empresas

Acesso completo
durante 1 ano

Estude 24h/dia
onde e quando quiser

Novos cursos
todas as semanas