Spliting ground truth data into 70% training, 20% validation and 10% Testingdata
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Abdussalam Elhanashi
el 21 de Mayo de 2020
Respondida: Shantanu Dixit
el 27 de Dic. de 2024 a las 5:13
Hi guys
i am looking for spliting data from ground truth file for following code
70% training, 20% validation and 10% Testingdata
load('gTruth.mat')
Fruits = selectLabels(gTruth,{'orange','Apple'});
if isfolder(fullfile('ExperimentData'))
cd ExperimentData
else
mkdir ExperimentData
end
addpath('ExperimentData');
splitFolder = true;
if splitFolder
valFolderName = "ExperimentData";
files = dir(fullfile(valFolderName));
N = length(files);
tf=randperm(N)>(0.20*N);
mkdir TrainingData;
mkdir ValidationData;
mkdir TestingData;
for i=3:length(tf)
files_re = files(i).name;
if tf(i) == 3
copyfile (fullfile(valFolderName,files_re),'TrainingData')
else
copyfile (fullfile(valFolderName,files_re),'Validation')
ifelse
copyfile (fullfile(valFolderName,files_re),'TestingData')
end
end
end
0 comentarios
Respuestas (1)
Shantanu Dixit
el 27 de Dic. de 2024 a las 5:13
Hi Abdussalam,
To split your ground truth data into training, validation, and testing sets, you can use the 'randperm' function to randomly shuffle the data and 'copyfile' to copy the data from the original data to the corresponding splits.
You can refer to the below code snippet to split data in 70:20:10 ratio
% Generate a random permutation of indices
% N = total data points
indices = randperm(N);
% Determine the number of files for each split
numTrain = round(0.7 * N);
numVal = round(0.2 * N);
numTest = N - numTrain - numVal;
mkdir('TrainingData');
mkdir('ValidationData');
mkdir('TestingData');
% Assuming ExperimentData contains the data files
for i = 1:numTrain
copyfile(fullfile('ExperimentData', files(indices(i)).name), 'TrainingData');
end
for i = numTrain+1:numTrain+numVal
copyfile(fullfile('ExperimentData', files(indices(i)).name), 'ValidationData');
end
for i = numTrain+numVal+1:N
copyfile(fullfile('ExperimentData', files(indices(i)).name), 'TestingData');
end
Additionally, you can refer to the following MathWorks documentation for more information:
0 comentarios
Ver también
Categorías
Más información sobre Deep Learning Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!