Problem with evaluate(imagecategoryclassifier) function from Vision System tool box
1 次查看(过去 30 天)
显示 更早的评论
Hello Matlab communtiy, I have a quich question to the evaluate(imagecategoryclassifier) function in matlab. I tried the given sample code, but it seems to missmatch some predicted labels considering the calculated scores. In the help it states that the predicted label corresponds to the highest value given by the score. After I run the example multiple times, it seemed to missmatch at least two labels. Here is the code I ran and the output it produced:
setDir = fullfile(toolboxdir('vision'),'visiondata','imageSets'); imgSets = imageSet(setDir, 'recursive');
[trainingSets, testSets] = partition(imgSets, 0.3, 'randomize');
bag = bagOfFeatures(trainingSets,'Verbose',false);
categoryClassifier = trainImageCategoryClassifier(trainingSets, bag);
[confMat,knownLabelIdx,predictedLabelIdx,score] = evaluate(categoryClassifier, testSets);
disp(score); disp(predictedLabelIdx);
-0.6226 -0.3774
-0.6509 -0.3491
-0.4416 -0.5584
-0.4953 -0.5047
-0.6226 -0.3774
-0.6509 -0.3491
-0.4416 -0.5584
-0.4953 -0.5047
2
1
1
1
2
2
1
1
So here I don't understand why the second predicted label is 1 and not 2. The rest makes sense to me.
0 个评论
采纳的回答
Birju Patel
2015-9-30
编辑:Birju Patel
2015-10-26
Hi Jacob,
Thanks for reporting this issue. This is a bug. The predicted labels are correct, but the scores are not.
I can create a patched version for you. What release are you using?
EDIT: patched version for 15a attached. You'll need to put the patched version of the file here:
$MATLAB_ROOT/toolbox/vision/vision/
Also added patched version for 15b, which has _15b appended to it (imageCategoryClassifier_15b.m). You'll need to download this file and remove the "_15b" from the file name before copying it over to the toolbox directory.
Birju
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!