封装Sklearn中roc_curve函数画ROC曲线并使用roc_auc_score函数计算AUC
画ROC曲线封装函数# 画ROC曲线函数def plot_roc_curve(y_true, y_score):"""y_true:真实值y_score:预测概率。注意:不要传入预测label!!!"""from sklearn.metrics import roc_curveimport matplotlib.pyplot as pltfpr,tpr,threshold = roc_curve(
·
画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曲线只有一个折线:
更多推荐


所有评论(0)