ComeçarComece de graça

Remoção estatística de outliers

Embora remover os N% superiores do seu conjunto de dados seja útil para garantir que pontos muito espúrios sejam excluídos, isso tem a desvantagem de sempre eliminar a mesma proporção de pontos, mesmo quando os dados estão corretos. Uma alternativa comum é remover dados que estejam a mais de três desvios padrão da média. Você pode implementar isso calculando primeiro a média e o desvio padrão da coluna relevante para encontrar os limites superior e inferior e aplicando esses limites como uma máscara no DataFrame. Esse método garante que apenas os dados que são realmente diferentes do restante sejam removidos e eliminará menos pontos se os dados estiverem mais concentrados.

Este exercício faz parte do curso

Feature Engineering for Machine Learning in Python

Ver curso

Instruções do exercício

  • Calcule o desvio padrão e a média da coluna ConvertedSalary de so_numeric_df.
  • Calcule os limites superior e inferior como três desvios padrão de distância da média em ambas as direções.
  • Reduza o DataFrame so_numeric_df para manter todas as linhas em que ConvertedSalary esteja dentro dos limites lower e upper.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Find the mean and standard dev
std = so_numeric_df['ConvertedSalary'].____
mean = so_numeric_df['ConvertedSalary'].____

# Calculate the cutoff
cut_off = std * 3
lower, upper = mean - cut_off, ____

# Trim the outliers
trimmed_df = so_numeric_df[(so_numeric_df['ConvertedSalary'] < ____) \ 
                           & (so_numeric_df['ConvertedSalary'] > ____)]

# The trimmed box plot
trimmed_df[['ConvertedSalary']].boxplot()
plt.show()
Editar e executar o código