我正在尝试使用一些单词和fitcecoc()(多类SVM)来重现与使用Image Category分类器获得的结果类似的结果 as seen in the documentation
% Code from documentation
bag = bagOfFeatures(trainingSet); % create bag of features from trainingSet (an image datastore)
categoryClassifier = trainImageCategoryClassifier(trainingSet, bag);
confMatrix = evaluate(categoryClassifier, validationSet);
这会在验证集上返回~98%的准确度。
然而,当我将视觉词出现的直方图传递到多类SVM分类器时,它的准确度大约为2.5%。
SVM_SURF = fitcecoc(trainFeatures,trainingSet.Labels);
bag = bagOfFeatures(validationSet);
featureMatrix = encode(bag, validationSet); % histogram of visual word occurrences
[pred score cost] = predict(SVM_SURF, featureMatrix)
accuracy = sum(validationSet.Labels == pred)/size(validationSet.Labels,1);
accuracy
当将一包单词传递给fitcecoc()而不是trainImageCategoryClassifier()时,是否有明显的理由说明为什么准确度会低得多?
答案 0 :(得分:1)
fitcecoc分类器是一种多功能(图像,财务数据等)分类器。通过配置内核,您可以获得更高的准确率。但是,传统上,如果您增加训练数据,fitcecoc函数会提供更好的结果。