外れ値とスケーリング

Pythonで学ぶMachine Learning面接対策

Lisa Stuart

Data Scientist

外れ値

  • ある特徴量で、他の観測値から大きく離れた1点または複数点。

外れ値

1 https://bolt.mph.ufl.edu/6050-6052/unit-1/one-quantitative-variable-introduction/understanding-outliers/
Pythonで学ぶMachine Learning面接対策

四分位範囲 (IQR)

四分位範囲 (IQR)

1 By Jhguch at en.wikipedia, CC BY-SA 2.5, https://commons.wikimedia.org/w/index.php?curid=14524285
Pythonで学ぶMachine Learning面接対策

最小二乗直線

線形モデルの当てはめ

1 https://www.r-bloggers.com/outlier-detection-and-treatment-with-r/
Pythonで学ぶMachine Learning面接対策

外れ値関連の関数

関数 返り値
sns.boxplot(x= , y='Loan Status') 目的変数で条件付けた箱ひげ図
sns.distplot() ヒストグラムとカーネル密度推定 (kde)
np.abs() 絶対値を返す
stats.zscore() zスコアを計算
mstats.winsorize(limits=[0.05, 0.05]) 外れ値に下限・上限を適用
np.where(condition, true, false) 値を置換
Pythonで学ぶMachine Learning面接対策

高分散 vs 低分散

分散

1 https://machinelearningmastery.com/a-gentle-introduction-to-calculating-normal-summary-statistics/
Pythonで学ぶMachine Learning面接対策

標準化 vs 正規化

  • 標準化:
    • zスコア標準化
    • 平均0・標準偏差1にスケール

zスコア標準化の式

  • 正規化:
    • min-max 正規化
    • (0, 1) にスケール

min-max スケーリングの式

1 https://medium.com/@rrfd/standardize-or-normalize-examples-in-python-e3f174b65dfc
Pythonで学ぶMachine Learning面接対策

スケーリング関数

  • scikit-learn.preprocessing.StandardScaler() --> (mean=0, sd=1)
  • sklearn.preprocessing.MinMaxScaler() --> (0,1)
Pythonで学ぶMachine Learning面接対策

外れ値とスケーリング

外れ値の特定と適切な扱い方は? min/max や zスコア標準化はデータに何をもたらす? 正しい記述を選んでください。

  • 外れ値は、特徴量の類似点の範囲を少し外れた点である。
  • 文脈上、異常と見なす外れ値は、予測MLモデルの構築に役立つ。
  • Min/Max スケーリングは平均0・SD1にし、分散を増やす。
  • zスコア標準化はデータを(0,1)にし、モデル適合を改善する。
Pythonで学ぶMachine Learning面接対策

外れ値とスケーリング: 解答

外れ値の特定と適切な扱い方は? min/max や zスコア標準化はデータに何をもたらす? 正解は次のとおりです。

  • 文脈上、異常と見なす外れ値は、予測MLモデルの構築に役立つ。(不正検知、サイバーセキュリティ事象など、異常検知が目的の場面で有用。)
Pythonで学ぶMachine Learning面接対策

外れ値とスケーリング: 誤答の解説

外れ値の特定と適切な扱い方は? min/max や zスコア標準化はデータに何をもたらす?

  • 外れ値は類似点の範囲を少し外れた点である。(外れ値の疑いはIQRの1.5倍を超えてから。)
  • Min/Max スケーリングは平均0・SD1にし、分散を増やす。(min/max はデータを(0,1)にスケール。分散が増減するかは元データによる。)
  • zスコア標準化はデータを(0,1)にし、適合を改善する。(zスコアは平均0・SD1にする。適合が改善することがある。)
Pythonで学ぶMachine Learning面接対策

最後にもう一つ…

前処理ステップ

Pythonで学ぶMachine Learning面接対策

Let's practice!

Pythonで学ぶMachine Learning面接対策

Preparing Video For Download...