MATLAB: Split a data in random partitions

datapartitionsplitStatistics and Machine Learning Toolbox

Hi,
I'm trying to split my data in random partition.
I have a code of this type :
rng(1000)
cv = cvpartition(size(my_data,1),'HoldOut',0.4);
idx = cv.test;
dataTrain = split(~idx,:);
dataTest = split (idx,:);
The problem is that it provides me dataTrain as a (0x12)table instead of (1200×12)table.
How can I fix this problem ?

Best Answer

A = rand(100,2) ;
n = size(A,1) ;
% Get 70% of data random from A
m = round(0.7*n) ;
% Randomize the data
idx = randperm(n) ;
% Training data
P = A(idx(1:m),:) ;
% Testing
T = A(idx(m+1:end),:) ;