Análise Exploratória de Dados

Machine Learning de ponta a ponta

Joshua Stapleton

Machine Learning Engineer

O processo de EDA

  • Examinar e analisar o conjunto de dados
  • Entender o conjunto de dados
  • Visualizar o conjunto de dados
  • Caracterizar / classificar o conjunto de dados

Um diagrama mostrando componentes da EDA aplicados ao conjunto de pacientes com doença cardíaca

Machine Learning de ponta a ponta

Entendendo os dados

df.head()

  • Mostra as primeiras linhas
  • Dá um retrato da estrutura
# Print the first 5 rows
print(heart_disease_df.head())

As 5 primeiras linhas do nosso DataFrame de doença cardíaca. Resultado de chamar df.head().

df.info()

  • Resume os recursos
  • Mostra entradas não nulas e tipos
# Print out details
print(heart_disease_df.info())

Informações resumidas do nosso DataFrame de doença cardíaca. Resultado de chamar df.info().

Machine Learning de ponta a ponta

(Des)balanceamento de classes

df.value_counts()

  • Conta ocorrências únicas por classe
  • Classe: presença binária de doença cardíaca (1/0)
  • Importante para modelagem
# print the class balance
print(heart_disease_df['target'].value_counts(normalize=True))

O balanceamento da classe na coluna alvo do nosso DataFrame de doença cardíaca. Resultado de chamar .value_counts() na coluna target.

Machine Learning de ponta a ponta

Valores ausentes

  • Pode gerar erros
  • Resultados enviesados, não representativos

Use df.isnull()

  • Verifica valores nulos/vazios/ausentes
  • Aplica a uma coluna ou várias

Uso

# check whether all values in a column are null
print(heart_disease_df['oldpeak'].isnull().all())
True
Machine Learning de ponta a ponta

Outliers

  • Valores anômalos

    • Erros de medição
    • Erros de digitação
    • Eventos raros
  • Podem distorcer o modelo

    • O modelo aprende pelos extremos
    • Não capta a tendência geral
  • Às vezes são úteis:

    • Valores raros
    • Detecção: boxplot ou IQR

Uma visualização mostrando um outlier.

Machine Learning de ponta a ponta

Visualizando os dados

Visualizações mostram:

  • Tendências gerais
  • Ausências e outliers

Outros tipos de visualização:

  • Estimativa de densidade (KDE)
  • Distribuições acumuladas empíricas
  • Distribuições bivariadas
df['age'].plot(kind='hist')
plt.xlabel('Age')
plt.ylabel('Frequency')
plt.show()

Uma visualização mostrando a distribuição de idades no nosso conjunto de dados.

1 https://seaborn.pydata.org/tutorial/distributions.html, https://app.datacamp.com/learn/courses/intermediate-data-visualization-with-seaborn
Machine Learning de ponta a ponta

Metas da EDA

Entender os dados

  • Existem padrões?
  • Ex.: homens têm mais doença cardíaca?

Detectar outliers

  • Algo fora do aceitável?
  • Há valores incorretos ou ausentes?

Formular hipóteses

  • O que esperar dos dados?

Checar suposições

  • O esperado bate com a realidade?
Machine Learning de ponta a ponta

Vamos praticar!

Machine Learning de ponta a ponta

Preparing Video For Download...