Я пытаюсь получить кривую 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 значения.