Matlab中K折交叉验证

%%K折交叉验证
[M,N] = size(data);%数据集为一个M*N的矩阵,其中每一行代表一个样本
indices = crossvalind('Kfold',data(1:M,N),10);
for k = 1:10%交叉验证k=10,10个包轮流作为测试集
test = (indices == k); %获得test集元素在数据集中对应的单元编号
train = ~test;%train集元素的编号为非test元素的编号
train_data = data(train,:);%从数据集中划分出train样本的数据
test_data = data(test,:);%test样本集
%加入要测试的模型即可
end

你可能感兴趣的:(matlab)