Почему мой MLP ROC_AU C строит только 3 точки - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь получить кривую RO C, но мой код, кажется, вместо этого строит треугольник. Я думаю, что я делаю что-то не так. Я буду признателен за любую помощь.


model = MLPClassifier()

model.fit(X_train, Y_train)
prediction=model.predict(X_test)

fpr, tpr, thresholds = roc_curve(Y_test, prediction)
roc_auc = auc(fpr, tpr)
fpr=array([0.       , 0.2473072, 1.       ])
tpr=array([0.        , 0.70320656, 1.        ])
thresholds=array([2, 1, 0])

# image drawing
plt.figure()
#plt.title('Receiver Operating Characteristic %d iter' %iter)
plt.plot(fpr, tpr, label = 'MLP AUC = %0.2f' % roc_auc)
plt.legend(loc = 'lower right')
plt.plot([0, 1], [0, 1],'r--')
plt.xlim([0, 1])
plt.ylim([0, 1])
plt.ylabel('True Positive Rate')
plt.xlabel('False Positive Rate')
plt.show()

Можете ли вы рассмотреть и предложить, что я могу сделать. Несмотря на то, что я не удивлен, у меня есть треугольник, потому что, если я посмотрю на свои fpr и tpr, есть только 3 значения, и я не понимаю почему. Я ожидаю получить больше значений, которые приведут к кривой.

Я видел, что кто-то сталкивался с такой же проблемой, как это, но решение, похоже, не сработало для меня, так как я ожидаю, что fpr и tpr вернут больше 3 значения.

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