How to split an image datastore for cross-validation?

12 次查看(过去 30 天)
Hello,
The method
splitEachLabel
of an
imageDatastore
object splits an image data store into proportions per category label. How can one split an image data store for training using cross-validation and using the
trainImageCategoryCalssifier
class?
I.e. it's easy to split it in N partitions, but then some sort of mergeEachLabel functionality is needed to be able to train a classifier using cross-validation. Or is there another way of achieving that?
Regards, Elena
  2 个评论
kowshik Thopalli
kowshik Thopalli 2017-2-26
I am looking for an answer to a similar problem. Did you solve it?
Tripoli Settou
Tripoli Settou 2018-4-19
I am also looking for an answer to a similar problem. Did you solve it?

请先登录,再进行评论。

采纳的回答

Hamza Mehboob
Hamza Mehboob 2018-7-27
[imd1 imd2 imd3 imd4 imd5 imd6 imd7 imd8 imd9 imd10] = splitEachLabel(imds,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,'randomize');
partStores{1} = imd1.Files ;
partStores{2} = imd2.Files ;
partStores{3} = imd3.Files ;
partStores{4} = imd4.Files ;
partStores{5} = imd5.Files ;
partStores{6} = imd6.Files ;
partStores{7} = imd7.Files ;
partStores{8} = imd8.Files ;
partStores{9} = imd9.Files ;
partStores{10} = imd10.Files;
for i = 1 :k
i
test_idx = (idx == i);
train_idx = ~test_idx;
imdsTest = imageDatastore(partStores{test_idx}, 'IncludeSubfolders', true,'FileExtensions','.jpeg', 'LabelSource', 'foldernames');
imdsTrain = imageDatastore(cat(1, partStores{train_idx}), 'IncludeSubfolders', true,'FileExtensions','.jpeg', 'LabelSource', 'foldernames');
%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%Write your classification task
%%%%hamzamehboob103@gmail.com for any further help.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
}
  4 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Datastore 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by