scikit-learn: как определить пороговые значения для кривой ROC? - PullRequest
0 голосов
/ 16 ноября 2018

При построении ROC (или получении AUC) в scikit-learn, как можно указать произвольные пороги для roc_curve, вместо того, чтобы использовать функцию для их внутреннего вычисления и возврата?

from sklearn.metrics import roc_curve
fpr,tpr,thresholds = roc_curve(y_true,y_pred)

Соответствующий вопрос был задан на Scikit - Как определить пороги для построения кривой roc , но принятый ответ ОП указывает, что их намерение отличалось от того, как оно было написано.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

Это довольно просто.Кривая ROC показывает вам выходные данные для различных порогов.Вы всегда выбираете лучший порог для своей модели, чтобы получать прогнозы, но кривая ROC показывает, насколько надежна / хороша ваша модель для разных порогов.Вот вам довольно хорошее объяснение, как это работает: https://www.dataschool.io/roc-curves-and-auc-explained/

0 голосов
/ 16 ноября 2018

То, что вы получаете от классификатора, это баллы, а не просто прогноз класса.

roc_curve предоставит вам набор порогов с соответствующими ложными положительными показателями и истинными положительными показателями.

Если вы хотите свой собственный порог, просто используйте его:

y_class = y_pred > threshold

Затем вы можете отобразить путаницу с этим новым y_class по сравнению с y_true.

И если вам нужно несколько порогов, сделайте то же самое и получите матрицу путаницы от каждого из них, чтобы получить истинные и ложные положительные оценки.

...