すべてのクラスについて、与えられたサンプルの予測スコア/確率を取得したいと思います。私はsklearnのRandomForestClassifierを使用しています。 .predict()
を使用している場合、私のコードは正常に動作しています。しかし、確率を表示するには.predict_proba(X)
を使用していて、X
が変更されても常に同じ値を返します。それはなぜそれをどうやって修正するのですか?RandomForestClassifier(sklearn)のpredict_proba(X)は静的であるようですか?
私が関わる部分に私のコードを壊しています:
# ... code ... feature generation/gets the feature data
if rf is None:
rf = RandomForestClassifier(n_estimators=80)
rf.fit(featureData, classes)
else:
prediction = rf.predict(featureData) # gets the right class/always different
proba = rf.predict_proba(featureData)
print proba # this prints always the same values for all my 40 classes
興味深いことにmax(proba)
は非常に最初の実行で.predict()
リターンというクラスを取得します。 .predict()
が期待どおりに動作しているため、エラーはsklearn側で発生すると考えられます。つまり、フラグを設定する必要があると思います。
アイデアはありますか?
おかげで 'X'のエラーをロードするいくつかの種類がありました。しかし、私はまだ 'predict()'がうまくいかなかったのだろうと思っています。私に多くを助けてくれてありがとう – user3085931