MATLAB: How to divide a data set randomly into training and testing data set

partitiontraining

Hello guys, I have a dataset of a matrix of size 399*6 type double and I want to divide it randomly into 2 subsets training and testing sets by using the cross-validation.
i have tried this code but did get what i want https://www.mathworks.com/help/stats/cvpartition-class.html
Could anyone help me to do that?
Expected outputs:
training_data: k*6 double
testing_data: l*6 double

Best Answer

Let A be your data of size 399*6. To divide data into training and testing with given percentage:
[m,n] = size(A) ;
P = 0.70 ;
idx = randperm(m) ;
Training = A(idx(1:round(P*m)),:) ;
Testing = A(idx(round(P*m)+1:end),:) ;