我有一个矩阵和一个矢量,每个都有3000行:
fe = [-0.1850 -0.4485; ...
-0.2150 2.6302; ...
-0.2081 1.5883; ...
-0.6416 -1.1924; ...
-0.1188 1.3429; ...
-0.2326 -2.2737; ...
-0.0799 1.4821; ...
... %# lots more rows
];
tar = [1; ...
1; ...
2; ...
1; ...
2; ...
1; ...
1; ...
... %#lots more rows
];
我想将fe
和tar
的行分开,以便将其中的2/3放入一组变量中,剩余的1/3放入第二组变量。这是出于分类目的(即一组是训练数据,另一组是测试数据)。
我有两种可能的方法来做到这一点:
如何实施这些解决方案?
答案 0 :(得分:13)
假设您需要选择2/3行和两列,您可以
feTrain=fe(1:2000,:);
feTest=fe(2001:end,:);
如果要分配随机选取的2/3行(即不是前2/3行),可以使用randperm
函数生成行索引的随机排序并使用它来索引
nRows=size(fe,1);
randRows=randperm(nRows);%# generate random ordering of row indices
feTrain=fe(randRows(1:2000),:);%# index using random order
feTest=fe(randRows(2001:end),:);