Кривая ROC для двоичного классификатора в MATLAB

У меня есть двоичный классификатор, который классифицирует вход X как нулевой класс, если его прогнозируемое значение ниже некоторого порога (скажем, T), и один в противном случае.
У меня есть все прогнозируемые и фактические значения для каждого ввода. Таким образом, я могу иметь как прогнозируемый, так и фактический класс ввода.

Теперь я хочу получить кривую ROC для этого классификатора с помощью MATLAB. как мне это сделать?


person Matin Kh    schedule 15.12.2013    source источник


Ответы (1)


Используйте perfcurve:

[X,Y] = perfcurve(labels,scores,posclass);
plot(X,Y);

labels - истинные метки данных, scores - выходные оценки вашего классификатора (до порога), а posclass - положительный класс в ваших метках.

person Ran    schedule 15.12.2013
comment
Что означают X и Y? - person Matin Kh; 16.12.2013
comment
@MatinKh X - это ложноположительный рейтинг, Y - истинный положительный результат по умолчанию. Вы также можете изменить их. Проверьте эту страницу: mathworks.com/help/stats/perfcurve.html - person lennon310; 16.12.2013
comment
@MatinKh X и Y - значения оси графика ROC. - person Ran; 16.12.2013
comment
@Ran Вы упомянули, что оценки - это результаты, полученные классификатором до применения порога. Тогда как нам применить порог - person TariqS; 08.05.2020