2017-01-15 8 views
0

分離インデックス(グラフィック上)や予測の精度など、分離フォレストの出力結果に関する情報を表示します。分離フォレストに関する情報を表示

私はsklearnの分離フォレスト機能を使用します。

clf = IsolationForest() 
clf.fit(X_train) 
yPredTest = clf.predict(X_test) 
xx, yy = np.meshgrid(np.linspace(-3, 88), np.linspace(-1, 50)) 
Z = clf.decision_function(np.c_[xx.ravel(), yy.ravel()]) 
Z = Z.reshape(xx.shape) 
plt.title("Isolation Forest") 
plt.contourf(xx, yy, Z, cmap=plt.cm.Blues_r) 
b = plt.scatter(X_test[:, 0], X_test[:, 1], c='black') 
plt.show() 

私が持っている結果はimageのようですが、1つのクラスタのみ(といくつかのポイントスプレッド)とし、すべての点が同じ色である:色としてyPredTestを置くことによって解決の問題。

他の問題は、2つ以上の機能を有効にする方法がわかりませんか?

ValueError: Number of features of the model must match the input. Model n_features is 8 and input n_features is 2

は、それはそう: 私は[[0,1,34,38O,24],[98,938,238,23,1],[...],[0,13,3,23,49]]のようなもので、アルゴリズムは、私はそれが私を停止し、警告するX_train = np.array(list)[:100,[1,2]]とそうでないX_test = np.array(list)[101:,[1,2]]np.array(list)[:100,]np.array(list)[101:,])のように私のセットを切り捨てる作る2セット(電車やテストを)持っていますその行で問題が発生することを確認してください。Z = clf.decision_function(np.c_[xx.ravel(), yy.ravel()])

答えて

1

「別の質問」がありますが、最初はどこですか? 散乱すると、引数c='black'のために同じ色になります。この引数にyPredTestを代入します。

xx、yyはプラングラフのグリッドです(あなたが何であるかを確認するために印刷することができます)。 2つ以上の機能を使用する場合は、PCAが役立つ可能性があります。

+0

質問には、アイソレーションインデックスの表示、予測の精度、色の変更、その他の機能の追加などがありました。他のファイルにアイソレーションフォレストまたはそれに加えて(= iForest)PCAを使用したいのですか? –

+0

@Chènevis私は[チュートリアル](http://scikit-learn.org/stable/auto_examples/ensemble/plot_isolation_forest.html#sphx-glr-auto-examples-ensemble-plot-isolation-forest-py)から学ぶべきだと思います。 )どのようにそれが議論されたか。 IsolationForestの使い方については、[doc](http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.IsolationForest.html)を参照してください。また、IsolationForest.predictを使用してテストセットのインデックスを取得します。 – Zealseeker

+0

@ChènevisIsolationForestは、3つ以上の機能をサポートしています。あなたのデータの形を変えるだけです。しかし、あなたは人間として、3次元以上の空間にそれらを散らすことはできないことを認識しなければなりません。したがって、視覚的に情報を表示したいだけの場合は、PCAを使用して機能を減らすことは良い考えです。プロットに興味があるなら、私の知るところではない3次元空間にそれらを散布してみてください。 – Zealseeker

関連する問題