【发布时间】:2014-03-03 04:39:53
【问题描述】:
我正在尝试将 libsvm 与 MATLAB 一起使用来评估一对多 SVM,唯一的问题是我的数据集不够大,无法保证选择特定的测试集。因此,我想使用留一法来评估我的分类器。
我在使用 SVM 方面并不是特别有经验,所以如果我对该怎么做有点困惑,请原谅我。我需要为我的分类器生成精确率与召回率曲线以及混淆矩阵,但我不知道从哪里开始。
我已经尝试过,并想出了以下作为进行休假培训的粗略开始,但我不知道如何进行评估。
function model = do_leave_one_out(labels, data)
acc = [];
bestC = [];
bestG = [];
for ii = 1:length(data)
% Training data for this iteration
trainData = data;
trainData(ii) = [];
looLabel = labels(ii);
trainLabels = labels;
trainLabels(ii) = [];
% Do grid search to find the best parameters?
acc(ii) = bestReportedAccuracy;
bestC(ii) = bestValueForC;
bestG(ii) = bestValueForG;
end
% After this I am not sure how to train and evaluate the final model
end
【问题讨论】:
-
你在使用来自csie.ntu.edu.tw/~cjlin/libsvm/#matlab的libsvm吗?
-
是的,我确实在使用 libSVM。
标签: matlab machine-learning classification svm libsvm