Why i Get low accuracy when i give unseen data to Trained Model?
3 views (last 30 days)
Show older comments
I have combine dataset of signals which have 14 classes. I have split them using
imds = imageDatastore('E:\SNR-Dataset\DATA-11-time\Data-for-training\', 'FileExtensions', '.mat', 'IncludeSubfolders',true, ...
'LabelSource','foldernames',...
'ReadFcn',@matReader);
[imdsTrain,imdsValidation, imdsTest] = splitEachLabel(imds,0.7,0.2, 'randomized');
.
.
.
[net2,tr] = trainNetwork(augimdsTrain,lgraph,options);
imdsTest_resize = augmentedImageDatastore([224,224],imdsTest);
[YPred,probs] = classify(net2,imdsTest_resize);
accuracy = mean(YPred == imdsTest.Labels)
Whenever i use imdsTest from splitEachLabel it give me 99% accuracy (Note that the train validation and test are in one folder)
I have unseen data which save in different folder and i use the following code to check the model accuracy on unseen data
imdsTest1 = imageDatastore('E:\SNR-Dataset\DATA-11-time\snr-test-data\Final-Test-data\snr30', 'FileExtensions', '.mat', 'IncludeSubfolders',true, ...
'LabelSource','foldernames',...
'ReadFcn',@matReader);
imdsTest_resize1 = augmentedImageDatastore([224,224],imdsTest1);
[YPred,probs] = classify(net2,imdsTest_resize1);
accuracy = mean(YPred == imdsTest1.Labels)
i got the 30% test accuracy
Please Assist why i get low accuracy when testing a model on unssen data which are in saparate folder?
0 Comments
Answers (2)
yanqi liu
on 7 Mar 2022
may be modify layers,add some dropoutLayer
if possible,may be upload data and code to debug
0 Comments
See Also
Categories
Find more on Deep Learning Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!