2017-10-16 8 views
0

私のデータセット内の異常値を特定するために、分離フォレストを使用したいと考えています。分離フォレストの実装

トレーニングセットは、私がscikit学ぶ中で、与えられたサンプルの例を使用して2つの機能の分離の森を使用する方法を知っている値が1または0

と40個の機能の列を持つ4000件のレコードが含まれています。

40個の機能をすべて使用して異常値を表示するにはどうすればよいですか?

答えて

0

シキットの例を少し簡略化しました。 Xは40のフィーチャと4000行のデータセットです。この例では、3フィーチャと100行です。あなたのデータの "境界"を分類子として知るために、数値データXにclf.fit(X)で分類子を当てはめます。次のステップでは、学習したモデルに関して同じデータXを分類し、データセットの各行に1つずつ、100個のエントリを持つ配列yを取得します。 yの各エントリは-1(外れ値)または1(内位値)です。

import numpy as np 
from sklearn.ensemble import IsolationForest 

rng = np.random.RandomState(42) 

# Generate train data 
s = rng.randn(100, 5) 
X = np.r_[s + 2, s - 2, s - 5] 

# fit the model 
clf = IsolationForest(max_samples=100, random_state=rng) 
clf.fit(X) 
y = clf.predict(X) 
関連する問題