K折交叉验证

时间:2015-10-16 17:59:29

标签: matlab machine-learning

如何对数据集执行k-fold交叉验证,比如X.

我已经浏览了matlab网站并尝试过这个数据集X. 以下是集合X上10倍交叉验证的代码。

c= cvcrossvalidate(X,'kFold',10);

这会创建一个对象c,但是如何访问不同的部分并使用它们来测试我的分类器?经过各种文本后,我无法理解。

1 个答案:

答案 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 =您的数据集。