Я использую Matlab perfcurve [X, Y, T, AUC] = perfcurve (label, scores, posclass)
Меня смущает следующее. сначала простой пример, а потом я отвечу на свой вопрос
a) [X, Y, T, AUC] = perfcurve ([1 1 1 0 0 0], [. 9 .9 .9 .1 .1 .1], 1) дает AUC = 1
б) [X, Y, T, AUC] = perfcurve ([0 0 0 1 1 1], [. 9 .9 .9 .1 .1 .1], 1) дает AUC = 0
- когда я указываю положительный класс (laebl = 1), всегда ли он должен иметь более высокие баллы?
- Если я сделаю положительный класс (метка = 1) с более низкими оценками, как в b) выше, кривая ROC будет перевернута (зеркально противоположна нормальной кривой ROC)
Кривые, которые я генерирую с моими данными, выглядят так, как показано ниже. график 1 - распределение баллов. Классы показаны красным и синим цветом. Обратите внимание, что класс label = 1 (красный) имеет низкие оценки. красный -> метка = 1 синий-> метка = 0
Следующее изображение - это сгенерированная кривая ROC. По сути, это перевернутое изображение того, что я хочу увидеть. Я делаю что-то неправильно? или это поведение связано с тем, что класс label = 1 имеет низкие оценки?