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
Instruções do exercício
- Imprima o valor mínimo de
sum_donationse verifique se ele é pelo menos 0. Em seguida, imprima o valor máximo desum_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(____["____"].____())