LIBSVM svmpredict:为什么需要testLabel?

时间:2015-12-30 23:53:31

标签: matlab svm probability libsvm

我是matlab和libsvm的新手。我有8个不同对象大小为8 * 1000的单词包。我培训了他们每个人:

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

之后,我想用bow(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 个答案:

答案 0 :(得分:1)

您应该更改参数的顺序,使其变为:

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

然后它会给你1.00概率。如果您不知道测试标签,只需将随机数作为参数。 准确度:是包含准确度(用于分类),平均值的向量 平方误差和平方相关系数(用于回归)。