2016-05-18 9 views
1

私はSVM(特にリニアSVC)は、オプションのパラメータとしてprobability = Trueあなたがインスタンス化し、model.predict_proba()は、ラベル(1または0)とともに、その予測のそれぞれの確率を与えることになっている、すなわちオプションを持って知っています。しかし、私はpredict_proba()を呼び出すときにnumpyのエラー"use all() on an 1 dimensional array"を取得しておくと、私はラベルの形で予測を取得する(1または0)model.predict()を使用する方法を見つけ出すことができます。sklearn - どのようにあなたの代わりにラベルの確率を得るのですか?

答えて

0

ドキュメントの例では、私はフラグprobability=Trueを設定するため正常に動作します。問題は、入力データにしておく必要があります。

import numpy as np 
X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]]) 
y = np.array([1, 1, 2, 2]) 
from sklearn.svm import SVC 
clf = SVC(probability=True) 
clf.fit(X, y) 
print(clf.predict([[-0.8, -1]])) 
print(clf.predict_proba([[-0.8, -1]])) 
:この非常に簡単な例を試してみてください
関連する問題