I have a matrix and a vector each with 3000 rows:
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
];
I would like to divide up the rows of fe
and tar
such that 2/3 of them are placed into one set of variables and the remaining 1/3 are placed into a second set of variables. This is for classification purposes (i.e. one set is training data and the other is test data).
There are two potential ways for me to do this:
How can I implement each of these solutions?
Assuming you need to select 2/3 of the rows and both the columns, you can do
feTrain=fe(1:2000,:);
feTest=fe(2001:end,:);
If you wanted to assign 2/3 of the rows picked randomly (i.e., not the first 2/3), you can use the randperm
function to generate random ordering of the row indices and use that to index.
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),:);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With