2015-12-30 5 views
0

Я новый и Matlab и libsvm. У меня есть сумка слов для 8 разных объектов размером 8 * 1000. Я тренировался каждый из них, как это:LIBSVM svmpredict: для чего нужен testLabel?

buildingStruct = libsvm_svmtrain(bow,[1;0;0;0;0;0;0;0],'-b 1') 

После этого, я хотел, чтобы проверить его на носу (1, :), который является подготовка данных для buildingStruct. т.е.:

[predict_label, accuracy, prob_values] = libsvm_svmpredict(testLabel, bow(1,:), buildingStruct, '-b 1'); 

В этом смысле; Я не понимаю, что я должен дать testLabel. А также, если я делаю testLabel 1, например, у меня есть prob_values ​​имеет размер 5. Почему это 5 и почему они не близки к 100, так как я тестирую данные поезда? Точность также равна [0; 9; NaN]. Что это значит?

Благодаря

ответ

1

Вы должны изменить порядок параметров, так что он становится похожим на:

buildingStruct = libsvm_svmtrain([1;0;0;0;0;0;0;0],bow,'-b 1') 

Тогда это даст вам 1.00 Prob в качестве результата. Если вы не знаете тестовые метки, просто укажите случайное число в качестве параметра. Для точности: это вектор, включающий в себя точность (для классификации), среднюю ошибку и квадратичный коэффициент корреляции (для регрессии).

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