開始使用免費開始

處理離群值

在上一個練習中,你學到在機器學習面試中,視覺化離群值會很有幫助。另一個實用的方法是計算 Z 分數(Z-score),它提供一個判斷離群值的門檻,約為平均數正負 3 個標準差。

在這個練習中,你會使用 scipy.stats 模組來透過 stats.zscore() 函式計算 Z 分數,並用 mstats.winsorize() 函式,採用 Winsorizing 技術來替換離群值。

回想影片課程裡提到,超過(或低於)IQR 的 1.5 倍的點應該被懷疑為可能的離群值。在本練習的最後一步,該數值是 2120。

相關套件都已為你匯入,且 loan_data 的數值型與類別型欄位分別已經擷取並儲存為 numeric_colscategoric_cols

Machine learning pipeline

本練習屬於課程

用 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())
編輯並執行程式碼