2014-11-18 2 views
0

Проект Я в настоящее время работает над использует sklearn svm.SVC класса, где в одном месте в коде Instantiate следующее:Нет Поддержка Вектор Атрибут

self.classifier = OneVsRestClassifier(SVC(kernel = 'linear', probability = True)) 

После установки классификатор, я затем попытаться проверьте атрибуты support_vector_ или support_ классификатора. Тем не менее, я получаю следующее сообщение об ошибке:

'SVC' object has no attribute 'support_vectors_' 

Я попытался изменить ядро ​​к «поли» или «РФБ», но это не исправить ошибку. Почему это происходит? Не должно ли у какого-либо линейного SVM что-то (т. Е. «Нет» как минимум) для этого атрибута? Я использую sklearn версии 0.15.1, если это помогает.

Спасибо!

+0

У вас есть конкретная причина использовать OneVsRest вместо OneVsOne, который SVC использует по умолчанию? –

ответ

1

Предполагая, что вы получили сообщение об ошибке при попытке оценить

self.classifier.estimator.support_vectors_ 

заметить, что OneVsRestClassifier клонов ваш Оценщик столько раз, сколько есть классы и подходит как многие из них к вашим данным. Их можно найти в переменной estimators_ ovr. Попробуйте

self.classifier.estimators_[0].support_vectors_ 

Это даст вам векторы поддержки для первой проблемы с OVR.

Смежные вопросы