本人现有18组数据作为样本,每组数据由108个输入节点和1个输出节点,现在想通过BP神经网络方法建立一下这108个输入节点与1个输出节点的关联,因为样本只有18组,所以选择10折交叉验证划分数据集,写了个代码,不确定对不对,还请各位高手不吝赐教,谢谢!
data=xlsread ('test2.xlsx','Sheet1','A1:R109'); %读取数据
[m,n]=size(data); %data为样本集合。每一行为一个观察样本
indices = crossvalind('Kfold',n,10); %产生10个fold,即indices里有等比例的1-10
for i=1:10
test=(indices==i); %逻辑判断,每次循环选取一个fold作为测试集
train111=~test; %取test的补集作为训练集,即剩下的9个fold
data_train=data(:,train111); %以上得到的数都为逻辑值,用与样本集的选取
data_test=data(:,test); %同理选取测试集的样本和标签
input_train=data_train(1:108,:);
output_train=data_train(109,:);
input_test=data_test(1:108,:);
output_test=data_test(109,:);
[inputn, inputps]=mapminmax (input_train); %归一化
[outpu