Tratamiento de valores atípicos
En el último ejercicio, viste cómo visualizar los valores atípicos puede ser útil en una entrevista de Machine Learning. Otra forma práctica de tratarlos es calcular el Z-score, que establece un umbral para valores atípicos aproximadamente a +/-3 desviaciones estándar de la media.
En este ejercicio, usarás el módulo scipy.stats para calcular el Z-score con la función stats.zscore() y la función mstats.winsorize() para reemplazar valores atípicos mediante una técnica llamada Winsorizing.
Recuerda del vídeo que los puntos por encima y/o por debajo de 1,5 veces el IQR deberían sospecharse como posibles valores atípicos. Para el último paso de este ejercicio, ese valor es 2120.
Los paquetes relevantes ya se han importado por ti, y las columnas numéricas y categóricas de loan_data se han separado y guardado como numeric_cols y categoric_cols, respectivamente.

Este ejercicio forma parte del curso
Practicing Machine Learning Interview Questions in Python
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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())