Scikit-Learn: roc_auc_score

Я использую функцию roc_auc_score из scikit-learn для оценки характеристик моей модели. Как бы то ни было, я получаю разные значения независимо от того, использую ли я предиката () или предиката ()

p_pred = forest.predict_proba(x_test)
y_test_predicted= forest.predict(x_test)
fpr, tpr, _ = roc_curve(y_test, p_pred[:, 1])
roc_auc = auc(fpr, tpr)

roc_auc_score(y_test,y_test_predicted) # = 0.68
roc_auc_score(y_test, p_pred[:, 1])    # = 0.93

Не могли бы посоветовать, пожалуйста?

Заранее спасибо

7 голосов | спросил user4640449 3 J0000006Europe/Moscow 2015, 17:53:44

1 ответ


0

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

Вы видите эффект ошибки округления, который неявно присутствует в двоичном формате y_test_predicted. y_test_predicted состоит из 1 и 0, где p_pred состоит из значений с плавающей запятой от 0 до 1. Процедура roc_auc_score изменяет пороговое значение и генерирует истинную положительную оценку и ложную положительную оценку, поэтому оценка выглядит совершенно иначе.

Рассмотрим случай, когда:

y_test           = [ 1, 0, 0, 1, 0, 1, 1]
p_pred           = [.6,.4,.6,.9,.2,.7,.4]
y_test_predicted = [ 1, 0, 1, 1, 0, 1, 0]

Обратите внимание, что кривая ROC генерируется с учетом всех пороговых значений. Теперь рассмотрим порог 0,65 ...

Случай p_pred дает:

TPR=0.5, FPR=0, 

и случай y_test_predicted дает:

TPR=.75 FPR=.25.  

Возможно, вы видите, что если эти две точки различны, то область под двумя кривыми также будет совершенно другой.

Но чтобы действительно понять это, я предлагаю взглянуть на сами кривые ROC, чтобы помочь понять эту разницу.

Надеюсь, это поможет!

ответил AN6U5 4 J0000006Europe/Moscow 2015, 04:55:20

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132