Divide training , validation and testing data.

How can I divide only training and validation data randomly and have a separate contingous block for testing data.
for eg. if I have 2000 target points. I want to have randomly selected points from first 1500 points for training and validation but for testing I want 1501 to 2000 target points.

 Akzeptierte Antwort

KSSV
KSSV am 27 Jun. 2022

1 Stimme

A = rand(2000,3) ; % your data
Test = A(1501:end,:) ; % take test continuously
A = A(1:1500,:) ; % pick the left data
A = A(randperm(1500,1500),:) ; % randomise the data
train_idx = round(70/100*1500) ; % 70% training
Train = A(1:train_idx,:) ;
Valid = A(train_idx+1:end,:) ;

2 Kommentare

Sujith Jacob
Sujith Jacob am 27 Jun. 2022
thank you for the help
KSSV
KSSV am 27 Jun. 2022
Thanks is accepting/ votinng the answer... :)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 27 Jun. 2022

0 Stimmen

Depends on what kind of network training you're doing. If you're using trainNetwork and labels, then you can use imageDatastores and the function splitEachLabel
% Split the image data store into 80% for training, 10% for validation, and 10% for testing.
[trainingSet, validationSet, testSet] = splitEachLabel(imds, 0.8, 0.1);

Kategorien

Mehr zu Deep Learning Toolbox finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by