对matlab中交叉验证的认识

matlab中有专门用于进行交叉验证的函数,是crossvalind函数,下面是例子:

 load fisheriris
 indices = crossvalind('Kfold',species,10);
 cp = classperf(species);
 for i = 1:10
    test = (indices == i); 
    train = ~test;
    class = classify(meas(test,:),meas(train,:),species(train,:));
    classperf(cp,class,test);
end
cp.ErrorRate

这个是官网自带的例子。

Data = rand(9,3);%创建维度为9×3的随机矩阵样本
indices = crossvalind('Kfold', 9, 3);%将数据样本随机分割为3部分
for i = 1:3 %循环3次,分别取出第i部分作为测试样本,其余两部分作为训练样本
    test = (indices == i);
    train = ~test;
    trainData = Data(train, :);
    testData = Data(test, :);
end

这个例子也是crossvalind的例子。
以上就是对matlab中交叉验证的认识。

你可能感兴趣的:(对matlab中交叉验证的认识)