Hantera avvikande värden
I den förra övningen lärde du dig hur visualisering av avvikande värden kan vara användbart i en maskininlärningsintervju. Ett annat smidigt sätt att hantera avvikande värden är att beräkna Z-poängen, som ger ett tröskelvärde för avvikare på ungefär +/-3 standardavvikelser från medelvärdet.
I den här övningen använder du modulen scipy.stats för att beräkna Z-poängen med funktionen stats.zscore() och funktionen mstats.winsorize() för att ersätta avvikande värden med en teknik kallad Winsorizing.
Kom ihåg från videolektionen att värden som ligger mer än 1,5 gånger IQR ovanför eller nedanför kvartilgränserna bör betraktas som möjliga avvikare. I det sista steget i den här övningen är det värdet 2 120.
Relevanta paket har redan importerats, och de numeriska och kategoriska kolumnerna i loan_data har delats upp och sparats som numeric_cols respektive categoric_cols.

Den här övningen är en del av kursen
Öva på maskininlärningsintervjufrågor i Python
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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())