2

Python のscikits.learnパッケージを使用して、勾配方向ヒストグラム機能を使用した部分ベースの顔認識用の分類子をトレーニングしています。特定の顔の部分を認識するように線形 SVM を正常にトレーニングしましたが、predict_proba()関数に奇妙な問題があります。

次のトレーニング コードを使用します。

 import numpy as np
 from scikits.learn import svm

 # Do some stuff to prepare DATA matrix of feature vector samples
 # And LABELS vector of 1's and 0's for positive and negative samples.
 clf = svm.SVC(kernel='linear',probability=True)
 clf.fit(DATA, LABELS)

しかし、実行すると、出力としてpredict_proba([test_vector])のみ表示[[ 0.5 0.5 ]]されます。つまり、2 つのバイナリ クラス間の一様確率です。

奇妙なことに、このpredict()関数を使用しただけでは、かなりうまく機能し、確かにすべてに均一な確率を簡単に割り当てることはできません。テスト画像では、正しい顔部分の周りではるかに密な「1」分類が得られ、シーンの他の場所でノイズの多い「1」分類が予想されましたが、予想どおり、主にすべての「0」分類が得られました。

この誤動作の原因は何predict_proba()ですか?

4

0 に答える 0