画ROC曲线封装函数
# 画ROC曲线函数
def plot_roc_curve(y_true, y_score):
"""
y_true:真实值
y_score:预测概率。注意:不要传入预测label!!!
"""
from sklearn.metrics import roc_curve
import matplotlib.pyplot as plt
fpr,tpr,threshold = roc_curve(y_true, y_score, pos_label=1)
plt.xlabel('False Positive Rate')
plt.ylabel('Ture Positive Rate')
plt.title('roc curve')
plt.plot(fpr,tpr,color='b',linewidth=0.8)
plt.plot([0,1], [0,1], 'r--')
计算AUC、画ROC曲线
踩坑
如果传入的不是预测概率而是label,画出的ROC曲线会只有一个折线!!!比如逻辑回归会将预测概率以阈值转换为预测label,如果传入的不是概率而是预测label,如下面代码所示会导致画的ROC曲线只有一个折线: