Двоичные векторы как аргумент y_score для roc_curve

строка документации sklearn roc_curve:

«y_score: array, shape = [n_samples] Целевые баллы, могут быть либо оценками вероятности положительного класса, либо значениями достоверности, либо бинарными решениями».

В какой ситуации имеет смысл установить y_score в двоичный вектор («двоичные решения»)? Разве это не привело бы к кривой ROC с одной точкой, которая не соответствует точке?


person Chris Gorgolewski    schedule 17.02.2014    source источник
comment
да. Вы не должны этого делать. Может быть, открыть PR, изменив строку документации и заявив, что это не очень рекомендуется.   -  person Andreas Mueller    schedule 18.02.2014
comment
Готово: github.com/scikit-learn/scikit-learn/pull/2874 :)   -  person Chris Gorgolewski    schedule 19.02.2014


Ответы (1)


Если вы используете классификатор, который не выводит оценки вероятности (например, svm.SVC без явного probability=True), нет способа вычислить кривую ROC. Как разработчик API, у вас есть два варианта: вызвать исключение и не предоставлять пользователю никакой полезной информации или построить вырожденную кривую с одной точкой данных. Я бы сказал, что последнее более полезно.

person mbatchkarov    schedule 18.02.2014
comment
На самом деле у нас был студент, который построил эти вырожденные кривые ROC, рассчитал AUC и подумал, что все в порядке. Я склоняюсь к тому, чтобы сделать исключение. - person Chris Gorgolewski; 19.02.2014