Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Tratamento de Valores Ausentes | Fundamentos da Limpeza de Dados
Pré-Processamento de Dados e Engenharia de Features

bookTratamento de Valores Ausentes

Dados ausentes são comuns em conjuntos de dados do mundo real e podem afetar sua análise ou modelos. Os três principais tipos de dados ausentes são:

  • Missing Completely at Random (MCAR): ausência não relacionada a nenhum dado;
  • Missing at Random (MAR): ausência relacionada apenas a dados observados;
  • Missing Not at Random (MNAR): ausência depende dos próprios valores ausentes.

A escolha da estratégia adequada para lidar com valores ausentes depende do tipo de ausência. Um tratamento inadequado pode causar resultados tendenciosos, análises mais fracas e previsões não confiáveis.

12345678
import pandas as pd import seaborn as sns titanic = sns.load_dataset("titanic") # Find missing values in each column print("Missing values per column:") print(titanic.isnull().sum())
copy
Note
Definição

Imputação é o processo de substituir valores ausentes por valores substitutos, como a média, mediana ou moda, entre outros. A imputação ajuda a preservar a estrutura e o tamanho do conjunto de dados para análises ou modelagens futuras.

Tipos de Métodos de Imputação

Diferentes tipos de dados requerem estratégias específicas de imputação para lidar com valores ausentes de forma eficaz:

  • Imputação pela média: utilizar para variáveis numéricas; substitui valores ausentes pela média dos valores observados;
  • Imputação pela mediana: utilizar para variáveis numéricas, especialmente quando os dados são assimétricos; substitui valores ausentes pela mediana;
  • Imputação pela moda: utilizar para variáveis categóricas; substitui valores ausentes pela categoria ou valor mais frequente;
  • Imputação por valor constante: utilizar para variáveis numéricas e categóricas; preenche valores ausentes com um valor fixo como 0, -1 ou 'unknown';
  • Preenchimento para frente (ffill): utilizar para séries temporais ou dados ordenados; propaga a última observação válida para frente para preencher lacunas;
  • Preenchimento para trás (bfill): utilizar para séries temporais ou dados ordenados; utiliza a próxima observação válida para preencher lacunas para trás;
  • Interpolação: utilizar para variáveis numéricas, especialmente em séries temporais; estima valores ausentes com base em pontos de dados vizinhos usando métodos lineares ou matemáticos.

Escolha o método de imputação que melhor se adapta ao tipo de dado e ao contexto da sua análise.

123456789101112131415161718
import pandas as pd import seaborn as sns # Load Titanic dataset titanic = sns.load_dataset("titanic") # Fill missing values in 'age' (numerical) with the mean titanic['age'] = titanic['age'].fillna(titanic['age'].mean()) # Fill missing values in 'deck' (categorical) with the mode titanic['deck'] = titanic['deck'].fillna(titanic['deck'].mode()[0]) # Drop 'embarked' and 'embark_town' columns (only 2 missing values each) titanic = titanic.drop(['embarked', 'embark_town'], axis=1) # Display the number of missing values after processing print("Missing values after processing:") print(titanic.isnull().sum())
copy
Note
Nota

Remover valores ausentes é rápido e simples, mas pode resultar em perda de dados valiosos, especialmente quando a ausência é generalizada. Imputação ajuda a reter mais dados, mas pode introduzir viés se não for escolhida cuidadosamente. Considere a quantidade e o padrão de ausência, assim como a importância da variável, antes de decidir entre remover ou imputar.

question mark

Qual dos seguintes cenários é mais apropriado para excluir linhas com valores ausentes em vez de imputá-los?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 2

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 8.33

bookTratamento de Valores Ausentes

Deslize para mostrar o menu

Dados ausentes são comuns em conjuntos de dados do mundo real e podem afetar sua análise ou modelos. Os três principais tipos de dados ausentes são:

  • Missing Completely at Random (MCAR): ausência não relacionada a nenhum dado;
  • Missing at Random (MAR): ausência relacionada apenas a dados observados;
  • Missing Not at Random (MNAR): ausência depende dos próprios valores ausentes.

A escolha da estratégia adequada para lidar com valores ausentes depende do tipo de ausência. Um tratamento inadequado pode causar resultados tendenciosos, análises mais fracas e previsões não confiáveis.

12345678
import pandas as pd import seaborn as sns titanic = sns.load_dataset("titanic") # Find missing values in each column print("Missing values per column:") print(titanic.isnull().sum())
copy
Note
Definição

Imputação é o processo de substituir valores ausentes por valores substitutos, como a média, mediana ou moda, entre outros. A imputação ajuda a preservar a estrutura e o tamanho do conjunto de dados para análises ou modelagens futuras.

Tipos de Métodos de Imputação

Diferentes tipos de dados requerem estratégias específicas de imputação para lidar com valores ausentes de forma eficaz:

  • Imputação pela média: utilizar para variáveis numéricas; substitui valores ausentes pela média dos valores observados;
  • Imputação pela mediana: utilizar para variáveis numéricas, especialmente quando os dados são assimétricos; substitui valores ausentes pela mediana;
  • Imputação pela moda: utilizar para variáveis categóricas; substitui valores ausentes pela categoria ou valor mais frequente;
  • Imputação por valor constante: utilizar para variáveis numéricas e categóricas; preenche valores ausentes com um valor fixo como 0, -1 ou 'unknown';
  • Preenchimento para frente (ffill): utilizar para séries temporais ou dados ordenados; propaga a última observação válida para frente para preencher lacunas;
  • Preenchimento para trás (bfill): utilizar para séries temporais ou dados ordenados; utiliza a próxima observação válida para preencher lacunas para trás;
  • Interpolação: utilizar para variáveis numéricas, especialmente em séries temporais; estima valores ausentes com base em pontos de dados vizinhos usando métodos lineares ou matemáticos.

Escolha o método de imputação que melhor se adapta ao tipo de dado e ao contexto da sua análise.

123456789101112131415161718
import pandas as pd import seaborn as sns # Load Titanic dataset titanic = sns.load_dataset("titanic") # Fill missing values in 'age' (numerical) with the mean titanic['age'] = titanic['age'].fillna(titanic['age'].mean()) # Fill missing values in 'deck' (categorical) with the mode titanic['deck'] = titanic['deck'].fillna(titanic['deck'].mode()[0]) # Drop 'embarked' and 'embark_town' columns (only 2 missing values each) titanic = titanic.drop(['embarked', 'embark_town'], axis=1) # Display the number of missing values after processing print("Missing values after processing:") print(titanic.isnull().sum())
copy
Note
Nota

Remover valores ausentes é rápido e simples, mas pode resultar em perda de dados valiosos, especialmente quando a ausência é generalizada. Imputação ajuda a reter mais dados, mas pode introduzir viés se não for escolhida cuidadosamente. Considere a quantidade e o padrão de ausência, assim como a importância da variável, antes de decidir entre remover ou imputar.

question mark

Qual dos seguintes cenários é mais apropriado para excluir linhas com valores ausentes em vez de imputá-los?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 2
some-alt