Scikits.learn 0.8realt_proba () выводит только одинаковые вероятности - PullRequest
2 голосов
/ 24 ноября 2011

Я работаю с красивым пакетом 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 ]] как вывод, то есть равномерную вероятность между моими двумя двоичными классами.

Как ни странно, когда я просто использую функцию predict(), она работает довольно хорошо и, конечно, не может быть просто тривиально присваивать всем одинаковые вероятности. На тестовом изображении я получаю гораздо более плотные классификации «1» вокруг правильной части лица, а затем некоторые ожидаемые шумные классификации «1» в других местах сцены, но преимущественно все классификации «0», как и ожидалось.

Что может быть причиной этой неисправности с predict_proba()?

...