Участок RO C кривой с использованием склеарна - PullRequest
0 голосов
/ 01 мая 2020

Я пытался создать кривую RO C со sklearn, ниже мой код

from sklearn.metrics import roc_curve
fpr_keras, tpr_keras, thresholds_keras = roc_curve(validation_generator.classes, y_pred_label_indices)

, когда я печатаю

print (fpr_keras):

[0.    0.48  0.568 0.584 0.632 0.648 0.664 0.68  0.992 0.992 1.    1.   ]

print (tpr_keras)

[0.    0.    0.    0.    0.    0.    0.    0.    0.    0.016 0.016 1.   ]

print (thresholds_keras)

[2.0000000e+00 1.0000000e+00 9.9999988e-01 9.9999976e-01 9.9999893e-01
 9.9999881e-01 9.9999833e-01 9.9999821e-01 9.6940529e-01 6.8794215e-01
 5.7934558e-01 1.9927023e-05]

но когда я построил его, используя этот код:

plt.plot(fpr_keras, tpr_keras, thresholds_keras)
plt.plot([0,1], [0,1], 'r--')
plt.xlim([0, 1])
plt.ylim([0, 1])

, я получил это:

enter image description here

Почему это так? Что-то не так с моим кодом?

1 Ответ

0 голосов
/ 01 мая 2020
Кривая

RO C представляет собой график только для fpr и tpr. для построения кривой RO C вы должны просто сделать это plt.plot(fpr,tpr)

Однако, с предоставленными вами данными, результаты очень плохи для кривой RO C.

Теперь график что вы показали выше, является результатом

plt.plot([0,1], [0,1], 'r--') plt.xlim([0, 1]) plt.ylim([0, 1]) только не RO C кривая

Попробуйте запустить оба кода по отдельности. Вы получите это.

...