Tamanho de fonte
Alto contraste
Altura de linha
Análise Exploratória de Dados

Análise exploratória de dados: descobrindo padrões e tendências

Avatar de Rebeca Honório Rebeca Honório
18 minutos de leitura 20 dias atrás

Se você está começando a se aventurar no mundo dos dados, é bem provável que já tenha ouvido falar de AED, que significa Análise Exploratória de Dados. E, se você ainda não conhece esse conceito, fique tranquilo, porque você está prestes a descobrir uma das etapas mais legais e essenciais no processo de análise.

Imagine a AED como o primeiro encontro com os dados: é quando você começa a conhecer as informações que tem em mãos, uma espécie de “conversa inicial” onde você vai buscar padrões, identificar tendências e, quem sabe, até desvendar alguns mistérios.

A gente vai te acompanhar nessa jornada, mostrando como explorar seus dados de forma inteligente e cuidadosa, porque, no final das contas, é essa exploração que pode ser a chave para tomar decisões mais certeiras e bem embasadas em qualquer projeto de dados. Vamos nessa?

O que é Análise Exploratória de Dados (AED)?

A Análise Exploratória de Dados (AED), ou Exploratory Data Analysis (EDA) em inglês, é a primeira conversa que o cientista de dados tem com o seu conjunto de dados. O objetivo? Descobrir padrões escondidos, identificar anomalias, testar algumas hipóteses e, claro, extrair insights valiosos. Ela funciona como um mapa que guia as próximas etapas, ajudando a entender como as variáveis se relacionam e quais caminhos podem ser seguidos.

Por que isso importa?

Porque sem essa “exploração inicial”, qualquer modelo de machine learning pode acabar sendo construído em terreno instável. Imagine tentar construir uma casa sem conhecer bem o solo, pode até parecer que está tudo certo no início, mas problemas surgem rápido. O mesmo acontece com os dados.

Falando em machine learning, esse é o momento em que os computadores começam a “aprender” com os dados. Tradutores automáticos, sistemas que detectam fraudes… tudo isso depende de modelos que só funcionam bem porque passaram por um bom processo de Análise Exploratória de Dados.

Para que serve a Análise Exploratória de Dados?

A Análise Exploratória de Dados é essencial para identificar padrões e tendências em grandes volumes de dados, ajudando a melhorar a tomada de decisões. Ao aplicar a AED, você consegue descobrir informações valiosas que podem passar despercebidas, como comportamentos de consumo, picos de vendas em datas específicas ou preferências do cliente. Esses insights ajudam a ajustar estratégias de marketing, otimizar o estoque e até aprimorar a experiência do cliente. Ao entender como a AED funciona, você maximiza o potencial dos dados em seus projetos.

Mas a AED vai além de encontrar padrões. Ela é também fundamental para identificar anomalias e erros nos dados, algo que, se não for tratado, pode comprometer a qualidade da análise. Imagine que você tenha dados de saúde e, ao investigar, encontra valores fora do normal, como números absurdamente altos ou baixos. Se não fosse pela AED, esses erros poderiam passar despercebidos e influenciar suas conclusões, prejudicando as decisões que seriam tomadas com base nesses dados.

Como funciona a Análise Exploratória de Dados?

A AED é composta por uma série de etapas essenciais, e cada uma delas tem o objetivo de garantir que você consiga extrair insights úteis e precisos dos seus dados.

1. Compreensão das variáveis

O primeiro passo é entender o que está nas suas mãos. Você precisa conhecer as variáveis do seu conjunto de dados, o que são e como se comportam. Isso inclui identificar se são variáveis numéricas (como preço ou idade) ou categóricas (como gênero ou tipo de produto) e analisar suas distribuições. Saber o que cada variável representa vai te ajudar a fazer a análise de maneira mais eficaz.

2. Limpeza dos dados

Aqui é onde tudo acontece. Dados “sujos” (com erros, valores ausentes ou duplicados) podem atrapalhar qualquer análise. Então, essa etapa é crucial para garantir que o que você está analisando é confiável. A limpeza dos dados envolve a remoção de valores faltantes, correção de erros evidentes e eliminação de duplicatas. Acredite, quanto mais “limpos” seus dados estiverem, mais fácil será tirar conclusões precisas.

3. Análise das relações entre variáveis

Com os dados limpos e as variáveis bem entendidas, o próximo passo é explorar as relações entre elas. Aqui, você começa a visualizar como diferentes variáveis interagem entre si. Gráficos de dispersão, matrizes de correlação e outros tipos de visualizações são ótimos aliados para perceber como as variáveis se influenciam mutuamente. Isso pode ajudar a revelar insights como: “Se o preço sobe, as vendas caem?” ou “Como as variáveis de idade e gênero impactam os hábitos de compra?”

Essas etapas formam a base da AED. Elas ajudam a construir um entendimento sólido sobre o conjunto de dados, o que permite fazer análises mais aprofundadas, identificar tendências e preparar tudo para os próximos passos.

Por que a Análise Exploratória de Dados é importante na ciência de dados?

A Análise Exploratória de Dados é importante na ciência de dados porque é a primeira grande chance de realmente conhecer os dados com os quais se está trabalhando. Antes de iniciar qualquer modelagem ou análise mais profunda, a AED oferece a você a oportunidade de dar uma olhada nos dados por um momento para evitar suposições e erros.

Esta é uma das grandes vantagens da AED porque ajuda a encontrar os problemas óbvios, como dados ausentes ou até mesmo erros de digitação ou outliers. Sem esta etapa, você pode acabar usando dados completamente imprecisos, o que significa comprometer os resultados e toda a análise extraída dos dados. Mas isso não é tudo. A AED também ajuda a descobrir esses padrões ocultos nos dados. Ela pode captar eventos ou relacionamentos anômalos entre variáveis ​​que passariam despercebidos em uma visualização inicial.

Para cientistas de dados, a AED garante que as análises e modelos que você gera posteriormente sejam válidos e realmente aplicáveis aos objetivos de negócio. Além disso, ela funciona como uma espécie de “checagem de qualidade”, ajudando os stakeholders a confirmarem se estão fazendo as perguntas certas, baseadas nos dados. Se, por exemplo, houver uma grande variação nos desvios padrão ou valores de intervalo de confiança, a AED é a etapa que permite detectar esses detalhes importantes.

Exemplos práticos de Análise Exploratória de Dados

A primeira fase da AED envolve analisar as variáveis de forma isolada, o que chamamos de análise univariada. Neste exemplo, vamos explorar o processo de análise de um dataset, compreendendo suas variáveis numéricas e categóricas, detectando problemas e limpando os dados para uma análise mais precisa.

1.Carregando o Dataset

Para iniciar, importamos as bibliotecas necessárias e carregamos o dataset:

# Importando as bibliotecas necessárias
import numpy as np
import pandas as pd
import matplotlib.pylab as plt
import seaborn as sns


# Carregando o dataset
df = pd.read_csv('dataset.csv')  # Substitua pelo seu arquivo

1.2 Analisando as informações básicas do dataset

Antes de qualquer coisa, é importante entender a estrutura do conjunto de dados. Para isso, podemos usar as seguintes funções:

# Verificando o tamanho do dataset
print(df.shape)


# Exibindo as primeiras 5 linhas do dataset
print(df.head())


# Exibindo os nomes das colunas
print(df.columns)


# Verificando as informações gerais, como tipos de dados e valores nulos
print(df.info())
  • .shape: retorna o número de linhas e colunas do dataset;
  • .columns: retorna o nome das colunas;
  • .head(): mostra as primeiras 5 linhas do dataset;
  • .info(): exibe o tipo de dados de cada coluna e o número de valores não nulos.

1.3 Sumário estatístico das variáveis numéricas

Uma maneira rápida de resumir as variáveis numéricas é utilizar o método .describe(), que nos mostra estatísticas como média, desvio padrão, valores mínimo e máximo, entre outros:

# Sumário estatístico das variáveis numéricas
print(df.describe())

Este método é necessário para entender a distribuição das variáveis numéricas, como “preço”, “ano”, “quilometragem”, etc.

1.4 Analisando variáveis categóricas

Para entender melhor as variáveis categóricas, podemos usar o método .unique() para ver todos os valores únicos presentes em uma coluna. Vamos supor que temos uma coluna “condition” que descreve o estado do item (ex: “excelente”, “bom”, etc.):

# Exibindo os valores únicos da coluna 'condition'
print(df['condition'].unique())

Se os valores estiverem muito dispersos ou com sinônimos, podemos querer agrupá-los. Por exemplo, agrupar “excelente” e “como novo” em uma categoria “excelente”:

def clean_condition(row):
    good = ['good', 'fair']
    excellent = ['excellent', 'like new']
    if row.condition in good:
        return 'good'
    if row.condition in excellent:
        return 'excellent'
    return row.condition
# Aplicando a limpeza nas condições
df_cleaned = df.copy()
df_cleaned['condition'] = df_cleaned.apply(lambda row: clean_condition(row), axis=1)


# Verificando os novos valores únicos
print(df_cleaned['condition'].unique())

1.5 Visualizando as distribuições das variáveis

A visualização das variáveis numéricas é fundamental para entender sua distribuição e possíveis outliers. O histograma e o KDE (Kernel Density Estimation) são ferramentas úteis:

# Histograma para a variável 'price'
df['price'].hist(bins=50)
plt.title('Distribuição de Preço')
plt.xlabel('Preço')
plt.ylabel('Frequência')
plt.show()


# KDE para a variável 'price'
sns.kdeplot(df['price'])
plt.title('Estimativa de Densidade de Preço')
plt.xlabel('Preço')
plt.ylabel('Densidade')
plt.show()

O histograma mostra como os valores de uma variável estão distribuídos, enquanto o KDE suaviza a distribuição, facilitando a visualização de padrões.

1.6 Analisando cardinalidade

A cardinalidade de uma variável é o número de categorias distintas que ela pode assumir. Para variáveis categóricas, podemos usar .value_counts() para ver quantas instâncias de cada categoria existem:

# Contagem das categorias na variável 'condition'
print(df['condition'].value_counts())

1.7 Identificando e lidando com outliers

Outliers (valores discrepantes) podem afetar as análises, especialmente as estatísticas como média e desvio padrão. Podemos utilizar a função .between() para filtrar valores extremos. Vamos supor que queremos remover outliers da coluna “price” (preço):

# Removendo outliers de preço
df_cleaned = df_cleaned[df_cleaned['price'].between(500, 200000)]

Outros métodos incluem a análise visual através de boxplots ou estatísticas como o percentil 95:

# Exibindo o boxplot para detectar outliers
sns.boxplot(x=df['price'])
plt.title('Boxplot de Preço')
plt.show()


# Calculando o percentil 95 de 'price'
percentil_95 = df['price'].quantile(0.95)
print("Percentil 95 de preço:", percentil_95)

1.8 Lidando com valores nulos

Valores nulos (NaN) podem interferir na análise e, dependendo do caso, podem ser removidos ou preenchidos com uma estratégia como a média, mediana ou interpolação. Para remover linhas com valores nulos, utilizamos o método .dropna():

# Removendo linhas com valores nulos
df_cleaned = df_cleaned.dropna(axis=0)

Se a coluna contiver muitos nulos, uma alternativa é preenchê-los com a média ou mediana:

# Preenchendo valores nulos com a média
df_cleaned['price'] = df_cleaned['price'].fillna(df_cleaned['price'].mean())

2. Análise bivariada 

Neste tipo de análise, analisamos duas variáveis ao mesmo tempo para explorar a relação entre elas. Vamos ver dois exemplos de ferramentas comuns para isso:

  1. Gráficos de dispersão (Scatter Plots): os gráficos de dispersão são ótimos para visualizar a relação entre duas variáveis contínuas. Eles ajudam a identificar padrões, correlações e tendências. Aqui está um exemplo de código para criar um gráfico de dispersão:
import matplotlib.pyplot as plt
import seaborn as sns


# Exemplo de dados
import pandas as pd
data = pd.DataFrame({
    'Variável X': [1, 2, 3, 4, 5, 6, 7],
    'Variável Y': [2, 3, 5, 7, 11, 13, 17]
})


# Criando o gráfico de dispersão
sns.scatterplot(x='Variável X', y='Variável Y', data=data)
plt.title('Gráfico de Dispersão entre Variáveis X e Y')
plt.xlabel('Variável X')
plt.ylabel('Variável Y')
plt.show()

Esse código cria um gráfico de dispersão básico para duas variáveis contínuas, ajudando a visualizar a relação entre elas.

  1. Tabelas de contingência: as tabelas de contingência são usadas para analisar a relação entre duas variáveis categóricas. Elas mostram como as categorias de uma variável se distribuem em relação às categorias de outra. Vamos calcular uma tabela de contingência com um exemplo de dados:
# Exemplo de dados categóricos
data_categorica = pd.DataFrame({
    'Variável A': ['Categoria 1', 'Categoria 1', 'Categoria 2', 'Categoria 2', 'Categoria 1'],
    'Variável B': ['Grupo 1', 'Grupo 2', 'Grupo 1', 'Grupo 1', 'Grupo 2']
})


# Criando a tabela de contingência
contingency_table = pd.crosstab(data_categorica['Variável A'], data_categorica['Variável B'])
print(contingency_table)

O código acima gera uma tabela de contingência que ajuda a entender as frequências de combinação entre as categorias das duas variáveis.

3. Visualização de dados

A visualização é uma etapa essencial na AED, pois permite que as descobertas sejam comunicadas de forma intuitiva. Aqui estão dois tipos comuns de gráficos usados para visualização:

  1. Gráficos de linhas: os gráficos de linhas são ideais para mostrar a evolução de uma variável ao longo do tempo, sendo muito úteis em dados temporais. Veja o código para criar um gráfico de linhas:
# Exemplo de dados temporais
data_temporal = pd.DataFrame({
    'Ano': [2020, 2021, 2022, 2023, 2024],
    'Vendas': [200, 220, 250, 280, 300]
})


# Criando o gráfico de linhas
plt.plot(data_temporal['Ano'], data_temporal['Vendas'], marker='o')
plt.title('Vendas ao Longo dos Anos')
plt.xlabel('Ano')
plt.ylabel('Vendas')
plt.grid(True)
plt.show()
Visualização de gráficos de linhas

Esse gráfico de linhas mostra como as vendas variaram ao longo dos anos.

  1. Gráficos de barras: os gráficos de barras são eficazes para comparar diferentes categorias ou valores. Aqui está um exemplo de como usar um gráfico de barras:
# Exemplo de dados categóricos
data_barras = pd.DataFrame({
    'Categoria': ['A', 'B', 'C', 'D'],
    'Valor': [15, 20, 35, 40]
})


# Criando o gráfico de barras
sns.barplot(x='Categoria', y='Valor', data=data_barras)
plt.title('Comparação de Valores por Categoria')
plt.xlabel('Categoria')
plt.ylabel('Valor')
plt.show()
Análise de gráficos por categorias

Este gráfico de barras compara os valores de diferentes categorias, ajudando a entender a distribuição dos dados. 

Tipos de Análise Exploratória de Dados

Uma das abordagens da Análise Exploratória de Dados é dividir o processo em quatro tipos principais: ele se concentra em diferentes ângulos dos dados e varia as abordagens para revelar o que está lá.

Os quatro tipos são os seguintes:

1. Univariada não gráfica

Este é o tipo mais simples de análise, onde você trabalha com uma única variável. Neste tipo de análise, o objetivo não é entender as relações entre as variáveis, mas explorar e descrever os padrões que emergem dentro da própria variável. A ideia é olhar para os dados isoladamente e obter informações sobre sua distribuição, tendência central (como média ou mediana) e dispersão.

2.Resumo gráfico univariado

Embora os resumos univariados não gráficos sejam úteis, eles são incompletos sem uma visualização. Portanto, é muito importante que os métodos gráficos sejam aplicados porque eles dão uma imagem do que está acontecendo. Alguns dos gráficos mais comuns aqui incluem:

  • Gráficos de caule e folha: eles mostram todos os valores de dados e a forma da distribuição de maneira compacta;
  • Histogramas: gráficos de barras que mostram a frequência (ou proporção) de dados em diferentes intervalos;
  • Box plots: também conhecidos como diagramas de caixa, eles oferecem um resumo gráfico de cinco números essenciais: o mínimo, primeiro quartil, mediana, terceiro quartil e máximo. Esses gráficos são ótimos para identificar outliers e entender a dispersão dos dados.

3. Multivariada não gráfica

A análise multivariada envolve trabalhar com mais de uma variável. Métodos não gráficos de dados multivariados identificam relacionamentos entre duas ou mais variáveis ​​por meio de tabulação cruzada ou análise estatística. Ele fornece a extensão da dependência, associação ou diferença significativa entre várias variáveis ​​sem precisar de visualizações pesadas.

4. Multivariada gráfica

Um dos gráficos mais comuns é o gráfico de barras agrupadas, onde cada grupo representa um nível de uma variável, e as barras dentro de cada grupo mostram os níveis da outra variável. Este tipo de gráfico é propício para comparar várias variáveis ​​ao mesmo tempo e entender como elas interagem ou influenciam umas às outras.

Esses quatro tipos de análises exploratórias são auxílios básicos para compreender dados em níveis variados.

Ferramentas e técnicas para realizar AED

Quando se trata de AED, as ferramentas certas podem fazer toda a diferença. E, no mundo da ciência de dados, uma das linguagens mais populares e acessíveis para realizar essa análise é o Python. Sua simplicidade, aliada ao vasto conjunto de bibliotecas, torna-a uma escolha excelente tanto para iniciantes quanto para profissionais experientes. Vamos explorar algumas das bibliotecas mais populares usadas para AED:

1. Pandas

Se você está começando, o Pandas é, sem dúvida, uma das bibliotecas mais essenciais que você vai usar. Ele é um verdadeiro aliado na manipulação e análise de dados. Com o Pandas, você consegue carregar seus dados, limpá-los e transformá-los de maneira simples e eficiente. Suas estruturas de dados, como DataFrames e Series, facilitam o trabalho com dados tabulares, e ele também oferece uma série de métodos para filtrar, agrupar e aplicar funções.

2. Matplotlib

Quando chega a hora de visualizar os dados, o Matplotlib é uma biblioteca clássica para criar gráficos e plots de maneira bastante simples e direta. Ela permite que você construa uma grande variedade de visualizações, desde os gráficos mais simples até os mais complexos, e é altamente personalizável. Com o Matplotlib, é fácil criar gráficos de linha, dispersão, barras e outros, todos configuráveis para representar melhor os padrões que você está buscando.

3. Seaborn

Se você gosta do Matplotlib, mas quer algo um pouco mais sofisticado e fácil de usar, o Seaborn é uma excelente opção. Ele é construído em cima do Matplotlib e oferece uma interface mais amigável, com recursos adicionais para a criação de visualizações estatísticas. O Seaborn facilita a criação de gráficos como histogramas, box plots, gráficos de violino, entre outros, com menos código e um visual mais bonito por padrão. Além disso, ele é excelente para lidar com dados que incluem categorias, pois facilita a visualização de relações entre variáveis contínuas e categóricas.

Essas bibliotecas são as mais comuns e poderosas para realizar uma Análise Exploratória de Dados eficaz em Python. Cada uma tem seu papel, mas quando usadas em conjunto, elas oferecem um ambiente robusto para explorar, limpar e visualizar dados de forma clara e detalhada.

Seus próximos passos começam aqui!

Agora que você explorou os principais conceitos da AED e conheceu  as ferramentas essenciais para se trabalhar com isso, fica claro que este tipo de análise é uma etapa primordial na ciência de dados. Ela não só prepara o terreno para análises mais avançadas, como também permite descobrir insights valiosos e tomar decisões mais acertadas.

Se você está pronto para ir além e realmente se aprofundar na área, temos uma excelente oportunidade para você: o curso de Análise Exploratória de Dados, da Asimov Academy. Nele, você aprenderá na prática, com didática exclusiva e conteúdos atualizados, a dominar essa etapa essencial da ciência de dados.

E, se você está começando do zero ou quer conhecer nossa abordagem e metodologia sem compromisso, não perca o nosso curso gratuito de Python para Dados. É uma excelente oportunidade para quem quer se familiarizar com a linguagem e dar os primeiros passos no mundo dos dados.

Não deixe para depois, invista no seu futuro agora!

Imagem de um notebook

Cursos de programação gratuitos com certificado

Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:

  • Conteúdos gratuitos
  • Projetos práticos
  • Certificados
  • +20 mil alunos e comunidade exclusiva
  • Materiais didáticos e download de código
Inicie agora

Comentários

Comentar
Faça parte da discussão Crie sua conta gratuita e compartilhe
sua opinião nos comentários
Entre para a Asimov