Tratamento 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.
12345678import 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())
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,-1ou'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.
123456789101112131415161718import 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())
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.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 8.33
Tratamento 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.
12345678import 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())
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,-1ou'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.
123456789101112131415161718import 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())
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.
Obrigado pelo seu feedback!