Decision_function:scores,predict之间的关系

Decision_function:scores,predict之间的关系
在二分类问题绘制ROC曲线时候,对于随机森林和深度森林等其他模型没有Decision_function这个函数时候的解决办法。

predict:用于分类模型的预测分类,返回值是类别;
predict_proba:也是用于预测分类,返回值是预期分类的概率;

在画ROC曲线时候要得到scores需要进行切片操作!!!!

from sklearn.metrics import roc_curve
import matplotlib.pyplot as plt
y_probas = gcf.predict_proba(X_te)
y_scores = y_probas[:,1]#关键一步得到scores
fpr,tpr,thresh = roc_curve(y_te,y_scores)
plt.title('ROC曲线')
plt.xlabel('FP')
plt.ylabel('TP')
plt.plot(fpr,tpr)

这是因为:

predict_proba的返回值是一个二维数组,其实代表的是各个分类的概率,对于二分类而言,就是为negative的概率以及positive概率。
scores的值其实就是predict_proba的二维数组中positive的值。
这样得到scores之后就可使用sklearn绘制ROC曲线啦!

猜你喜欢

转载自blog.csdn.net/qq_42138927/article/details/105804087