How to obtain the second most frequent label using mode function
Show older comments
% Get groups of rows corresponding to each filename
[Fidx,Filenames] = findgroups(featuresTest.Filename);
result = table();
for idx = 1:length(Filenames)
T = featuresTest(Fidx==idx,2:end); % Rows that correspond to one file
predictedLabels = string(predict(trainedClassifier,T(:,1:15))); % Predict
totalVals = size(predictedLabels,1);
[predictedLabel, freq] = mode(categorical(predictedLabels)); % Find most frequently predicted label
match1 = freq/totalVals*100;
1 Comment
Adam
on 6 Sep 2019
Do a setdiff to remove the mode and then run the mode again.
Answers (1)
Steven Lord
on 6 Sep 2019
0 votes
Do you need to do this using the mode function?
If you're looking to compute the K most frequently predicted labels, I'd use histcounts in conjunction with maxk.
Categories
Find more on Axis Labels 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!