Lidando com outliers
No último exercício, você viu como visualizar outliers pode ajudar em uma entrevista de Machine Learning. Outra forma prática de lidar com outliers é calcular o Z-score, que define um limite para outliers em aproximadamente +/-3 desvios padrão em relação à média.
Neste exercício, você vai usar o módulo scipy.stats para calcular o Z-score com a função stats.zscore() e a função mstats.winsorize() para substituir outliers usando a técnica chamada Winsorizing.
Lembre do vídeo que os pontos acima e/ou abaixo de 1,5 vezes o IQR devem ser suspeitos como possíveis outliers. Para a última etapa deste exercício, esse valor é 2120.
Os pacotes relevantes já foram importados para você, e as colunas numéricas e categóricas de loan_data foram separadas e salvas como numeric_cols e categoric_cols, respectivamente.

Este exercício faz parte do curso
Praticando perguntas de entrevista de Machine Learning em Python
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Print: before dropping
print(numeric_cols.mean())
print(numeric_cols.median())
print(numeric_cols.max())
# Create index of rows to keep
idx = (np.____(stats.____(____)) < 3).all(axis=1)
# Concatenate numeric and categoric subsets
ld_out_drop = pd.concat([numeric_cols.loc[____], categoric_cols.loc[____]], axis=1)
# Print: after dropping
print(ld_out_drop.mean())
print(ld_out_drop.median())
print(ld_out_drop.max())