技術共有

データ境界の監視: sklearn の外れ値検出テクノロジー

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

データ境界の監視: sklearn の外れ値検出テクノロジー

外れ値の検出は、データ分析および機械学習プロジェクトにおいて重要なタスクです。外れ値は、異常値または外れ値とも呼ばれ、他のデータと大きく異なる観測値を指します。これらの点は、測定エラー、データ入力エラー、または実際の変動によって発生する可能性があります。外れ値を正しく特定して処理することは、モデルの品質と精度を確保するために重要です。 scikit-learn (略して sklearn) は、Python の機能豊富な機械学習ライブラリとして、さまざまな外れ値検出方法を提供します。この記事では、sklearn の外れ値検出テクノロジーを詳しく紹介し、実践的なコード例を示します。

1. 外れ値検出の重要性

外れ値の検出は、次のような分野で重要です。

  • データクリーニング: データの前処理段階で外れ値を特定して処理します。
  • 不正行為の検出: 金融取引における潜在的な不正行為を特定します。
  • プロセス監視:設備の状態を監視し、工業生産における障害を防ぎます。
2. sklearnにおける外れ値検出方法

sklearn は、外れ値を検出するためのいくつかの方法を提供します。一般的に使用される手法をいくつか示します。

2.1 Zスコア(標準化スコア)

Z スコア法は、データの平均と標準偏差に基づいてデータを正規分布に正規化し、各ポイントの Z スコアを計算します。

from scipy.stats import zscore

data = [[1, 2], [3, 4], [5, 6], [100, 100]]
data = np.array(data)
z_scores = zscore(data)
threshold = 3  # 通常阈值设为3
outliers = np.where((z_scores > threshold) | (z_scores < -threshold))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
2.2 IQR (四分位範囲)

IQR 法では、データの第 1 四分位 (Q1) と第 3 四分位 (Q3) を使用して外れ値の範囲を決定します。

Q1 = np.percentile(data, 25, axis=0)
Q3 = np.percentile(data, 75, axis=0)
IQR = Q3 - Q1
threshold = 1.5
outliers = np.where((data < (Q1 - threshold * IQR)) | (data > (Q3 + threshold * IQR)))
  • 1
  • 2
  • 3
  • 4
  • 5
2.3 密度に基づく方法

DBSCAN などの密度ベースの方法では、固定しきい値ではなくデータ ポイントの密度に基づいて外れ値を特定します。

from sklearn.cluster import DBSCAN

dbscan = DBSCAN(min_samples=5, eps=0.5)
dbscan.fit(data)
core_samples_mask = np.zeros_like(dbscan.labels_, dtype=bool)
core_samples_mask[dbscan.core_sample_indices_] = True
outliers = dbscan.labels_ == -1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
2.4 孤立の森

Isolation Forest は、ランダム フォレストに基づく外れ値検出方法であり、特徴とセグメンテーション ポイントをランダムに選択することで外れ値を「分離」します。

from sklearn.ensemble import IsolationForest

iso_forest = IsolationForest(n_estimators=100, contamination=0.01)
iso_forest.fit(data)
outliers = iso_forest.predict(data) == -1
  • 1
  • 2
  • 3
  • 4
  • 5
3. 外れ値の検出を評価する

絶対的な基準がないため、外れ値検出のパフォーマンスを評価することは多くの場合困難です。ただし、次の方法で評価できます。

  • 視覚化: 散布図などの方法を使用して、データ ポイントと検出された外れ値を視覚化します。
  • 既知の外れ値: 既知の外れ値がある場合、検出精度や再現率などの指標を計算できます。
4. 実践的なアプリケーションとの組み合わせ

実際のアプリケーションでは、外れ値の検出は、データセット内の異常な動作を特定して、さらなる分析を行ったり、予防措置を講じたりするのに役立ちます。

5。結論

外れ値の検出は、データ分析と機械学習における重要なリンクです。 sklearn はさまざまな外れ値検出方法を提供しており、それぞれの方法に固有のアプリケーション シナリオと利点があります。この記事を通じて、sklearn のさまざまな外れ値検出手法について学び、実用的なコード例を提供しました。

この記事の目的は、読者が外れ値検出をより深く理解し、sklearn でこれらの手法を実装する方法を習得できるようにすることです。この記事を通じて読者が外れ値検出について理解を深め、これらのテクニックを実際のプロジェクトに効果的に適用できることを願っています。データ量が増加し続けるにつれて、外れ値の検出はデータ サイエンスにおいて引き続き重要な役割を果たします。