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.
NOTE:-
SEE COMPLETE ANSWER CLICK THE LINK
Comments
Post a Comment