PHP と機械学習: 異常検出と外れ値処理を実行する方法
概要:
実際のデータ処理では、データ セット内で外れ値が頻繁に発生します。外れ値は、測定エラー、予測不可能なイベント、データ ソースの問題など、さまざまな理由で発生する可能性があります。これらの外れ値は、データ分析、モデルのトレーニング、予測などのタスクに悪影響を与える可能性があります。この記事では、異常検出と外れ値の処理に PHP と機械学習テクニックを使用する方法を紹介します。
1.1 Z スコア方法:
Z スコア方法は、各データ ポイントとデータ ポイント間の関係を計算する統計ベースの異常検出方法です。データセットの平均値の偏差値は、それが外れ値であるかどうかを判断するために使用されます。具体的な手順は次のとおりです。
サンプルコードは以下のとおりです:
function zscore($data, $threshold){ $mean = array_sum($data) / count($data); $std = sqrt(array_sum(array_map(function($x) use ($mean) { return pow($x - $mean, 2); }, $data)) / count($data)); $result = []; foreach ($data as $value) { $deviation = ($value - $mean) / $std; if (abs($deviation) > $threshold) { $result[] = $value; } } return $result; } $data = [1, 2, 3, 4, 5, 100]; $threshold = 3; $result = zscore($data, $threshold); echo "异常值检测结果:" . implode(", ", $result);
1.2 Isolation Forest:
Isolation Forest は集合ツリーに基づく異常検出手法であり、ランダムに分割された Binary Tree を構築して判定を行います。データポイントの異常。具体的な手順は次のとおりです。
サンプルコードは以下の通りです:
require_once('anomaly_detection.php'); $data = [1, 2, 3, 4, 5, 100]; $contamination = 0.1; $forest = new IsolationForest($contamination); $forest->fit($data); $result = $forest->predict($data); echo "异常值检测结果:" . implode(", ", $result);
2.1 異常値の削除:
簡単な方法は、異常値を直接削除することです。異常検出の結果に基づいて、しきい値を超えるデータ ポイントをデータ セットから削除できます。
サンプルコードは以下の通りです:
function removeOutliers($data, $threshold){ $result = []; foreach ($data as $value) { if (abs($value) <= $threshold) { $result[] = $value; } } return $result; } $data = [1, 2, 3, 4, 5, 100]; $threshold = 3; $result = removeOutliers($data, $threshold); echo "异常值处理结果:" . implode(", ", $result);
2.2 外れ値の置換:
別の処理方法は、外れ値を平均値や中央値などの妥当な値に置き換えることです。このようにして、データセットの全体的な分布特性を保存できます。
サンプルコードは以下の通りです:
function replaceOutliers($data, $threshold, $replacement){ $result = []; foreach ($data as $value) { if (abs($value) > $threshold) { $result[] = $replacement; } else { $result[] = $value; } } return $result; } $data = [1, 2, 3, 4, 5, 100]; $threshold = 3; $replacement = 0; $result = replaceOutliers($data, $threshold, $replacement); echo "异常值处理结果:" . implode(", ", $result);
結論:
この記事では、PHPと機械学習技術を利用した異常検出と外れ値処理の手法を紹介しました。 Z スコア法と分離フォレスト アルゴリズムを通じて、外れ値を検出し、必要に応じて削除または置換できます。これらの方法は、データをクリーンアップし、モデルの精度を向上させ、より信頼性の高いデータ分析と予測を実行するのに役立ちます。
コード例の完全な実装は、GitHub にあります。この記事があなたの学習や実践に役立つことを願っています。
参考:
以上がPHP と機械学習: 異常検出と外れ値の処理を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。