【发布时间】:2014-02-18 09:23:53
【问题描述】:
我提取了训练和测试数据的主要成分。
'trainingdata.train' 具有来自 +1(面 1)和 -1(所有其他面)标签的特征值。
'testdata.train' 具有来自第 2 面的特征值并且没有标签,因为我希望 SVM 预测其标签。
LIBSVM 给出的“predicted_label”是 +1,即使它应该是 -1。
[training_label_matrix, training_instance_matrix] = libsvmread('trainingdata.train');
[testing_label_matrix, testing_instance_matrix] = libsvmread('testdata.train');
model = svmtrain(training_label_matrix, training_instance_matrix);
[predicted_label] = svmpredict(testing_label_matrix, testing_instance_matrix, model);
请指出我做错了什么。
【问题讨论】:
-
确保您的训练数据中的标签正确无误,即人脸标记为 +1,其他标记为 -1
-
@Lennon:我仔细检查了它及其正确性。
-
如果你使用 svmpredict(training_label_matrix, training_instance_matrix, model);训练结束后?对吗?
-
@Lennon:那不会达到目的,因为我需要预测测试数据的标签。
-
我知道,但至少你会检查一下标签是否有问题
标签: matlab label svm pca libsvm