處理離群值
在上一個練習中,你學到在機器學習面試中,視覺化離群值會很有幫助。另一個實用的方法是計算 Z 分數(Z-score),它提供一個判斷離群值的門檻,約為平均數正負 3 個標準差。
在這個練習中,你會使用 scipy.stats 模組來透過 stats.zscore() 函式計算 Z 分數,並用 mstats.winsorize() 函式,採用 Winsorizing 技術來替換離群值。
回想影片課程裡提到,超過(或低於)IQR 的 1.5 倍的點應該被懷疑為可能的離群值。在本練習的最後一步,該數值是 2120。
相關套件都已為你匯入,且 loan_data 的數值型與類別型欄位分別已經擷取並儲存為 numeric_cols 與 categoric_cols。

本練習屬於課程
用 Python 練習機器學習面試題
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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())