Você domina a análise exploratória dos dados? Sabe que é possível tirar conclusões válidas de várias amostras?
Eu sou a Ana Duarte, instrutora na Escola de Dados, e te convido a dar um passo mais profundo nos conceitos de Data Science!
Audiodescrição: Ana se descreve como uma mulher de pele clara, olhos castanhos e cabelos castanho-claros. Usa uma camisa preta com o logotipo da escola de dados em verde, piercing no septo e anéis nos dedos. Está nos estúdios da Alura, com um fundo branco iluminado em gradiente verde e lilás, uma estante preta com enfeites à esquerda da instrutora, e uma planta à direita.
Neste curso, vamos precificar o valor de venda de várias casas, utilizando a regressão linear a nosso favor. Além disso, entenderemos quais fatores melhor explicam o valor dessas casas. Essa metodologia irá nos ajudar a ajustar o primeiro modelo de machine learning.
Você topa esse desafio? Te encontro nos próximos passos!
Vamos iniciar nosso projeto? Para começar, precisamos identificar quais fatores contribuem para estabelecer o preço de venda de uma casa. Para isso, é necessário entender uma base de dados do mercado imobiliário e identificar quais fatores estão disponíveis para nossa análise.
Começaremos com o Google Colab aberto para ler e interpretar os dados. O link do notebook está disponibilizado na atividade Preparando o ambiente.
Na seção "Conhecendo os dados", daremos início à leitura dos dados. No menu lateral esquerdo da tela, encontramos um ícone de pasta ("Arquivos") na última posição da lista. Vamos clicar nele para carregar os dados, os quais também estão disponíveis para download.
Para carregar os dados, basta arrastar o arquivo Preços_de_casas.csv
para a seção "Arquivos". Após finalizar, vamos clicar no menu kebab à direita do arquivo e selecionar "Copiar caminho".
Para ler os dados no Google Colab, precisamos importar uma biblioteca que irá nos auxiliar. Em uma nova célula, vamos digitar o comando import pandas as pd
, adicionando um apelido para a biblioteca.
import pandas as pd
Agora que já importamos, podemos ler os dados: em uma nova célula, definiremos dados
igual ao método pd.read_csv()
, que será responsável por ler o arquivo CSV que carregamos. Para isso, abrimos aspas duplas entre parênteses e colamos o caminho copiado anteriormente.
# Lendo dados
dados = pd.read_csv("/content/Preços_de_casas.csv")
Ao executar essa célula, os dados serão lidos corretamente. Porém, ainda precisamos visualizar os fatores coletados das casas. Sendo assim, vamos utilizar o método dados.info()
.
# Quais os fatores coletados?
dados.info()
Como retorno, temos várias informações:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1438 entries, 0 to 1437
Data columns (total 8 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Id 1438 non-null int64
1 area_primeiro_andar 1438 non-null float64
2 existe_segundo_andar 1438 non-null int64
3 area_segundo_andar 1438 non-null float64
4 quantidade_banheiros 1438 non-null int64
5 capacidade_carros_garagem 1438 non-null int64
6 qualidade_da_cozinha_Excelente 1438 non-null int64
7 preco_de_venda 1438 non-null float64
dtypes: float64(3), int64(5)
memory usage: 90.0 KB
Note que são 1.438 casas diferentes, organizadas em 8 aspectos separados por colunas. Dessas 8 colunas, podemos identificar o ID (Id
), ou seja, o identificador único de cada casa. Além disso, temos dados sobre:
- A área do primeiro andar (
area_primeiro_andar
);- Se existe segundo andar nessa casa (
existe_segundo_andar
);- Se existe qualquer área do segundo andar (
area_segundo_andar
);- A quantidade de banheiros (
quantidade_banheiros
);- A capacidade de carros na garagem (
capacidade_carros_garagem
);- E a qualidade da cozinha (
qualidade_da_cozinha_Excelente
).
Ao final, temos o preço de venda (preco_de_venda
) de cada uma das casas. A partir disso, precisamos entender o seguinte: esses aspectos conseguem nos ajudar a estipular o preço de venda?
Quando observamos esses dados, o ID, por exemplo, talvez não seja algo tão explicativo, então podemos retirá-lo. Para isso, usaremos o método dados.drop()
recebendo a coluna Id
entre parênteses no atributo columns
. Em sequência, atribuiremos isso a dados
.
dados = dados.drop(columns = "Id")
Feito isso, teremos apenas informações sobre características e preço da casa.
A base de dados que utilizamos foi simplificada a partir da base House Prices do Kaggle. Fizemos algumas alterações para reais e metros quadrados, para evitar barreiras no seu aprendizado.
Agora que conhecemos os fatores da base de dados, podemos nos questionar: quais desses fatores estão correlacionados ao preço de venda das casas?
Agora que conhecemos alguns fatores que podem estar atrelados ao preço de venda das casas, podemos verificar quão correlacionados eles estão ao preço.
Para entender isso e medir essa correlação, podemos usar a métrica de correlação. No Google Collab, conseguimos calcular essa métrica.
Com o notebook aberto, vamos digitar o seguinte código em uma nova célula:
# Correlação
corr = dados.corr()
Após executar essa célula, vamos adicionar uma nova e selecionar essa correlação (corr
) apenas com preco_de_venda
. Dessa forma, teremos o seguinte código:
corr['preco_de_venda']
Como retorno, para cada uma das características, teremos a correlação com o preço de venda:
area_primeiro_andar 0.616557
existe_segundo_andar 0.138541
area_segundo_andar 0.305311
quantidade_banheiros 0.563132
capacidade_carros_garagem 0.640214
qualidade_da_cozinha_Excelente 0.496223
preco_de_venda 1.000000
Name: preco_de_venda, dtype: float64
A que precisamos nos atentar com essa métrica? Há dois pontos principais:
- A intensidade;
- E a direção.
A intensidade está muito ligada à magnitude, isto é, ao número apresentado no retorno. Quanto maior esse número, mais correlacionada está a característica com o preço de venda.
Essa métrica varia entre -1 e 1. Portanto, quanto mais próximas desses extremos, mais correlacionadas estão as variáveis, isto é, os aspectos em análise.
Vamos pensar em algumas hipóteses antes de observarmos os números?
Uma primeira hipótese possível seria a seguinte:
Uma casa maior pode custar mais caro.
A partir disso, podemos entender quão correlacionados esses fatores estão com essa métrica. Com o output dessa correlação em mãos, podemos focar na área do primeiro andar (area_primeiro_andar
) em relação ao preço de venda (preco_de_venda
).
area_primeiro_andar 0.616557
existe_segundo_andar 0.138541
area_segundo_andar 0.305311
quantidade_banheiros 0.563132
capacidade_carros_garagem 0.640214
qualidade_da_cozinha_Excelente 0.496223
preco_de_venda 1.000000
Identificamos uma correlação de 0.61, aproximadamente, uma correlação moderada, bem próxima de 1. Porém, também podemos focar em outros aspectos não tão correlacionados, como, por exemplo, a área do segundo andar (area_segundo_andar
), que está em 0.30, aproximadamente. Sendo assim, temos uma correlação um pouco menor quando falamos sobre o segundo andar.
Outro aspecto a ser observado é o sinal positivo (+
) ou negativo (-
). No exemplo anterior, todos foram positivos, então todos podem estar correlacionados positivamente. Isso significa que quanto maior a área do primeiro andar (area_primeiro_andar
), maior o preço de venda (preco_de_venda
).
Deixaremos uma atividade para você treinar a interpretação da correlação, muito importante para a análise prévia, quando entendemos quais fatores podem contribuir para a explicação do preço de venda, no nosso caso.
Agora que identificamos que a área do primeiro andar tem uma correlação de 0.61 com o preço de venda, será que podemos visualizar essa correlação? Existe alguma forma de entender isso de forma visual?
O curso Data Science: testando relações com Regressão Linear possui 109 minutos de vídeos, em um total de 52 atividades. Gostou? Conheça nossos outros cursos de Data Science em Data Science, ou leia nossos artigos de Data Science.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.