Почему перфорация функции построения графиков ROC в MATLAB дает 3 кривые ROC в случае перекрестной проверки? - PullRequest
0 голосов
/ 28 сентября 2018

Я построил 5-кратные данные перекрестной проверки в виде массива ячеек для точной функции с положительным классом = 1.Затем он сгенерировал 3 кривых, как вы можете видеть на диаграмме.Я ожидал только одну кривую.

[X, Y, T, AUC, OPTROCPT, SUBY, SUBYNAMES] = perfcurve (Actual_label, Score, 1);

            plot(X,Y)

Здесь, Actual_labelи Score - это массив ячеек размером 5 X 1. Каждый массив ячеек имеет размер 70 X 1. И 1 обозначает положительный класс = 1.

PS: я использую One-class SVM и функцию 'fitSVMPosterior'не подходит для обучения в одном классе (то же самое было упомянуто в документации MATLAB ).Поэтому апостериорная вероятность здесь не может быть использована.

enter image description here

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Когда вы вычисляете доверительные границы, X и Y представляют собой массив размером 3 на 3, где m - это число фиксированных значений X или пороговых значений (значений T).Первый столбец Y содержит среднее значение.Второй и третий столбцы содержат нижнюю границу и верхнюю границу соответственно точечных доверительных границ.AUC также является вектором строк с тремя элементами, следуя тому же соглашению.

Вышеприведенное объяснение взято из документации MATLAB .

0 голосов
/ 28 сентября 2018

Это ожидается, потому что вы строите кривую ROC для каждого из 5 сгибов.

Теперь, если вы хотите иметь только один ROC для вашего классификатора, вы можете либо использовать 5 обученных классификаторов, чтобы предсказать метки независимого набора тестов, либо вы можете усреднить апостериорные вероятности 5 сгибов и получить одинРПЦ.

...