假如我有120个数据列 ,如何从每三个数据列中随机挑选1列,加起来一个40个数据列来作为测试集,剩下的作为训练集呢?

120列数据 ,每3个为同一种类,每种类选一列,合在一起40个作为测试集,剩下的80个为训练集

你好,同学,你的数据集可以这样处理:

A = []; %nx120列
p = rand([0,2],40,1);%每三列随机取第几列
q = ((1:1:40)'-1).*3 + p; % 随机40列的列标
A_test = A(:,q);%测试集40列
A_train = A;
A_train(:,q) =[]; %删除测试集就剩下训练集