Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
libsvm matlab中允许一类错误_Matlab - Fatal编程技术网

libsvm matlab中允许一类错误

libsvm matlab中允许一类错误,matlab,Matlab,我读了一篇关于年龄和性别识别的文章,文章说:“对于年龄,分类器在38%的时间里是正确的,如果允许一个类别的错误,那么性能是71%。” 我不知道如何使用libsvm对多类执行“一类错误”。 我是否必须修改代码: model = svmtrain(train_label, train, ['-c ' num2str(best_C) ' -g ' num2str(best_gamma) ' -b 1']); [predict_label, accuracy, prob_estimates] = svm

我读了一篇关于年龄和性别识别的文章,文章说:“对于年龄,分类器在38%的时间里是正确的,如果允许一个类别的错误,那么性能是71%。”

我不知道如何使用libsvm对多类执行“一类错误”。 我是否必须修改代码:

model = svmtrain(train_label, train, ['-c ' num2str(best_C) ' -g ' num2str(best_gamma) ' -b 1']);
[predict_label, accuracy, prob_estimates] = svmpredict(test_label, test, model, '-b 1 -q');

还是我必须写另一个代码

处理此问题的最简单方法是对预测的标签进行一些后处理

标准精度的工作原理如下:

correct = predicted_label == test_label;
num_correct = length(find(correct));
accuracy = correct ./ length(test_label);
因此,考虑到一个类别错误(即:分类器预测年龄为一个类别旧,或一个类别年轻,但仍将其计算为正确),您需要修改计算为正确的内容。也许可以使用类似于:

correct = abs(predicted_label - test_label) <= 1;
correct=abs(预测标签-测试标签)