0

私はy_scores = OneVsRestClassifier(svm.SVC())を使用しようとしています。データセットのpredict()はアイリスとタイタニックのようです。アイリスデータセットの連続values.likeとして取得y_scoresは私が取得していています:OneVsRestClassifier(svm.SVC())。predict()は連続値を返します

[[ -3.70047231 -0.74209097 2.29720159] 
[ -1.93190155 0.69106231 -2.24974856] 
..... 

私はKNN、ランダムフォレスト、ナイーブベイズのような他の分類器モデルのOneVsRestClassifierを使用していますが、彼らは

の形で適切な結果を与えています
[[ 0 1 0] 
[ 1 0 1]... 

など虹彩データセットに関するお助けください。

+0

コードを編集して、最小限の実例を含めてください。 – ncfirth

答えて

0

これは単に真実ではありません。 (予測は、ベクトル、ない行列を返すことになっているとして、あなたの出力の次元にマッチしている)

>>> from sklearn.multiclass import OneVsRestClassifier 
>>> from sklearn.svm import SVC 
>>> from sklearn.datasets import load_iris 
>>> iris = load_iris() 
>>> clf = OneVsRestClassifier(SVC()) 
>>> clf.fit(iris['data'], iris['target']) 
OneVsRestClassifier(estimator=SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0, degree=3, gamma=0.0, 
    kernel='rbf', max_iter=-1, probability=False, random_state=None, 
    shrinking=True, tol=0.001, verbose=False), 
      n_jobs=1) 
>>> print clf.predict(iris['data']) 
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 
2 2] 

は多分あなたの代わりにdecision_functionと呼ばれます。次に、SVMは、各超平面への符号付き距離を返します。これは、数学的観点から決定関数です。

関連する問題