離群值與縮放

用 Python 練習機器學習面試題

Lisa Stuart

Data Scientist

離群值

  • 在某特徵中,與其餘觀測值相距很遠的一個或多個觀測值。

資料離群值

1 https://bolt.mph.ufl.edu/6050-6052/unit-1/one-quantitative-variable-introduction/understanding-outliers/
用 Python 練習機器學習面試題

四分位距(IQR)

資料 IQR

1 By Jhguch at en.wikipedia, CC BY-SA 2.5, https://commons.wikimedia.org/w/index.php?curid=14524285
用 Python 練習機器學習面試題

最佳擬合線

線性模型擬合

1 https://www.r-bloggers.com/outlier-detection-and-treatment-with-r/
用 Python 練習機器學習面試題

處理離群值的函式

Function 回傳
sns.boxplot(x= , y='Loan Status') 依目標變數分組的盒鬚圖
sns.distplot() 直方圖與 kernel density estimate(kde)
np.abs() 回傳絕對值
stats.zscore() 計算 z-score
mstats.winsorize(limits=[0.05, 0.05]) 對離群值設下下限與上限
np.where(condition, true, false) 以條件替換數值
用 Python 練習機器學習面試題

高變異 vs 低變異

變異數

1 https://machinelearningmastery.com/a-gentle-introduction-to-calculating-normal-summary-statistics/
用 Python 練習機器學習面試題

標準化 vs 正規化

  • 標準化:
    • Z-score 標準化
    • 縮放為平均 0、標準差 1

z-score 標準化公式

  • 正規化:
    • Min/Max 正規化
    • 縮放到區間 (0, 1)

最小-最大縮放公式

1 https://medium.com/@rrfd/standardize-or-normalize-examples-in-python-e3f174b65dfc
用 Python 練習機器學習面試題

縮放函式

  • scikit-learn.preprocessing.StandardScaler() --> (mean=0, sd=1)
  • sklearn.preprocessing.MinMaxScaler() --> (0,1)
用 Python 練習機器學習面試題

離群值與縮放

該如何辨識並妥善處理離群值?Min/Max 或 z-score 標準化對資料有何影響? 請選出正確陳述:

  • 離群值是在某特徵中,略超出相似點範圍的點。
  • 在特定情境下,被視為異常的離群值有助於建立預測型 ML 模型。
  • Min/Max 縮放會讓資料平均為 0、SD 為 1,且提升變異。
  • Z-score 標準化會把資料縮放到區間 (0,1),並改善模型擬合。
用 Python 練習機器學習面試題

離群值與縮放:答案

該如何辨識並妥善處理離群值?Min/Max 或 z-score 標準化對資料有何影響? 正確答案是:

  • 在特定情境下,被視為異常的離群值有助於建立預測型 ML 模型。(在詐欺偵測、資安事件等任務中,目標就是找出異常。)
用 Python 練習機器學習面試題

離群值與縮放:錯誤選項說明

該如何辨識並妥善處理離群值?Min/Max 或 z-score 標準化對資料有何影響?

  • 離群值略超出相似點範圍。(需超出 IQR 的 1.5 倍以上才可懷疑為離群值。)
  • Min/Max 縮放會讓資料平均為 0、SD 為 1,且提升變異。(Min/Max 會把資料縮到 (0,1);變異增減取決於原始資料。)
  • Z-score 標準化會把資料縮到 (0,1) 並改善擬合。(Z-score 會使平均為 0、SD 為 1,可能改善擬合。)
用 Python 練習機器學習面試題

最後一件事……

前處理步驟

用 Python 練習機器學習面試題

一起來練習吧!

用 Python 練習機器學習面試題

Preparing Video For Download...