始める無料で始める

PyOD で修正 z スコアを使う

いよいよ外れ値検出に pyod を使ってみましょう。ここでは pyodMAD 推定器を使って、修正 z スコアを活用します。MAD は内部で median_abs_deviation 関数を使用しているため、前の手順を繰り返す必要はありません。

MAD 推定器はすでに pyod.models.mad から読み込まれており、データは prices として利用可能です。

この演習はコースの一部です

Anomaly Detection in Python

コースを見る

演習の手順

  • threshold を 3.5 にして MAD() を初期化します。
  • prices を 2 次元にリシェイプします。
  • mad を同時に学習して予測し、prices に対するインライヤー/アウトライヤーのラベルを生成します。
  • アウトライヤーは 1 で表されるので、labels からそれらのみを抽出します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Initialize with a threshold of 3.5
mad = ____(____=____)

# Reshape prices to make it 2D
prices_reshaped = ____.____(-1, 1)

# Fit and predict outlier labels on prices_reshaped
labels = ____

# Filter for outliers
outliers = ____[____ == ____]

print(len(outliers))
コードを編集して実行