ComeçarComece de graça

Tratar outliers com winsorization

É fornecida uma basetable com duas variáveis: "sum\_donations" e "donor\_id". "sum_donations pode conter outliers quando doadores contribuem com valores excepcionalmente altos. Por isso, você quer aplicar winsorization nessa variável para que os 5% maiores valores sejam substituídos pelo valor do percentil superior de 5%.

Este exercício faz parte do curso

Análise Preditiva Intermediária em Python

Ver curso

Instruções do exercício

  • Imprima o valor mínimo de sum_donations e verifique se ele é pelo menos 0. Em seguida, imprima o valor máximo de sum_donations.
  • Preencha o percentil adequado do limite inferior. Como todos os valores acima de 0 são realistas e ocorrem com frequência, não é necessário substituir valores abaixo do valor do percentil do limite inferior.
  • Crie uma nova variável "sum_donations_winsorized" que seja uma versão com winsorization da variável "sum_donations".
  • Imprima o valor máximo de sum_donations_winsorized.

Exercício interativo prático

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

from scipy.stats.mstats import winsorize

# Check minimum sum of donations
print(____["____"].____())
print(____["____"].____())

# Fill out the lower limit
lower_limit = ____

# Winsorize the variable sum_donations
basetable["sum_donations_winsorized"] = ____(____["____"], limits=[lower_limit, 0.05])

# Check maximum sum of donations after winsorization
print(____["____"].____())
Editar e executar o código