cMi*_*nor 5 matlab split partitioning row matrix
我有一个矩阵和一个矢量,每个有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
];
Run Code Online (Sandbox Code Playgroud)
我想划分行的数量fe,tar使得其中2/3被置于一组变量中,剩余的1/3被置于第二组变量中.这是出于分类目的(即一组是训练数据,另一组是测试数据).
我有两种可能的方法来做到这一点:
我该如何实施这些解决方案?
abc*_*bcd 13
假设您需要选择2/3行和两列,您可以这样做
feTrain=fe(1:2000,:);
feTest=fe(2001:end,:);
Run Code Online (Sandbox Code Playgroud)
如果要分配随机选取的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),:);
Run Code Online (Sandbox Code Playgroud)