異常値検出機械学習

1.iForest(インディペンデント・フォレスト)アルゴリズム

これは、サンプルデータが大きい場合に異常値を検出するための推奨される方法であります

原則分析:また、林木の組成物の多数によってiForest。分離ツリーと呼ばれるツリーiForest、iTreeに言及しました。iTreeの木と決定木は、それが完全にランダムなプロセスであるため、その建設プロセスは、また、木よりも簡単で、同じではありません。次のように具体的な実施プロセスである:まず、iTreeを構築するために、N個のデータの合計を想定し、均一なサンプリングからN個のデータ(交換なしでサンプリング典型的)訓練サンプルのうちψサンプルツリー。ランダムに選択し、(最大値と最小値との間の)この機能の範囲内のすべての値が2進サンプルのランダムに選択された値が分割されたサンプルにおいて、サンプル値を分割するノード未満であります右ノード以上の値を除算、左。これは、分割された状態をもたらし、及びデータセットの左右、及びプロセス・データ・セットの両側にそれぞれ左右を繰り返すと、直接終了条件に達しました。二つの条件を終了、一方が他方のツリーの高さLOG2(ψ)に達し、それ自体が(一つだけのサンプル、または同じサンプルのすべてを含む)に分割することができないデータです。これは、アルゴリズムは、ツリーの高さが限られている決定木、iTree異なります。もちろん、私たちは缶を限定するものではないが、効率の理由のためのアルゴリズムは、唯一LOG2(ψ)の深さを可能に到達する必要があります。

第二に、良いすべてのiTreeツリーを構築するために、我々はテストデータを予測することができます。予測プロセスはiTreeテストデータは、リーフノードまで、下がる、ルートノードから中間ノードを介してを介して記録経路長さh(x)は、すなわちプロセスツリーに沿って条件分岐に対応しています、辺の数は、最終的に横断リーフノード(経路長)に達します。もし1に近い最後に、H(X)(特に式リファレンスhttps://www.cnblogs.com/pinard/p/9314198.html)に、各異常スコア算出データが試験される(異常スコア)スコア、異常箇所のより高い可能性がある、スコアが0.5よりも小さい場合、それは通常のデータとして実質的に決定することができる、すべての項目が0.5の近傍にある場合、そのデータは、有意な異常なサンプルを含んでいません。

 

sklearn使用しています:

 

このアルゴリズムは本質的に構成パラメータは、通常、以下の、直接使用することができない(ランダムフォレストよりも著しく簡単パラメータ)
n_estimators:デフォルトは100で、ツリー構造の数をiTree

 

max_samples:デフォルトは265で、サンプルサイズに構成

 

max_features:デフォルトすべての機能、高次元データのみ選択部分特徴

 

sklearn.ensemble インポート IsolationForest

 

ILF = IsolationForest()
ilf.fit(X)
S = ilf.predict(X)

 

のみ含有する戻り -1、要素1と-1の配列をアウトライア点であってもよいです

一般2.外れ値検出アルゴリズム OneClassSVM

これは時に外れ値検出方法いくつかのサンプルをお勧めします

これは、非教師あり学習方法でのみ、特定の考え方を説明するためにここに SVDDは、SVDDのために、我々はすべてのサンプルが正のカテゴリは珍しいことではないです期待しますが、それは何をする超平面部門ではなく、超球を使用しています特徴空間において得られたデータの周囲のアルゴリズム球状境界は、外れ値データの影響を最小にするように、超球の体積を最小限にすることが望ましいです。Zが新しいデータ点に基づいている場合、クラス内で、 Zは以下rに等しい半径の中心までの距離である超球の外側に、外れ値である場合、点は、異常ではありません。 sklearnの使い方

sklearn.svm インポート OneClassSVM

割り当て= OneClassSVM()
classer.fit(X)
引数yhat = classer.predict(X)
プリント(引数yhat)

注:によりその非教師あり学習方法に、そのカテゴリのリストを渡しません。データと戻るだけ1のリストが含まれているとして、-1、iForestを-1外れ値であってもよいし、Xは、訓練サンプルです。データ検出スクリーニングした後、

 

おすすめ

転載: www.cnblogs.com/dyl222/p/11122226.html