如何对数据集执行k-fold交叉验证,比如X.
我已经浏览了matlab网站并尝试过这个数据集X. 以下是集合X上10倍交叉验证的代码。
c= cvcrossvalidate(X,'kFold',10);
这会创建一个对象c
,但是如何访问不同的部分并使用它们来测试我的分类器?经过各种文本后,我无法理解。
答案 0 :(得分:1)
按照:
C = crossvalind('Kfold', X_label, 10);
for i = 1:10
Test = (C == i);
Train = ~Test;
SVMStruct = svmtrain ( X (Train,:), X_label (Train,:));
Result = svmclassify(SVMStruct, X (Test,:));
end
X_label
=您的数据标签。
X
=您的数据集。