How to change target class when using CLASSPERF

1 view (last 30 days)
Dear all,
I wonder, How to specify a particular label as the target class when using CLASSPERF. For example, I want to indicate that Label 1 and 0 for Classout (classifier output) as Positive and Negative for disease, respectively. This is because, I follow the convention where, for classifier output, label equal to 1 as positive for disease. However, I notice, Matlab treat 0 as positive for output. From link, it seem we change the default by adjusting TargetClasses. However, I dont know how to exactly do it.
truelabels=[1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0];
classout= [1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 NaN];
CP = classperf(truelabels, classout);

Accepted Answer

Walter Roberson
Walter Roberson on 11 Oct 2017
scats = {'Negative', 'Positive'};
struelabels = scats(truelabels + 1);
sclassout = scats((classout==1) + 1);
sclassout(isnan(classout)) = {'Undefined'};
CP = classperf(struelabels, sclassout);
There might be a better way.
  1 Comment
balandong
balandong on 11 Oct 2017
Hi Walter, As usual, your suggestion always amaze me,very neat. Thank you

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!