可视化: Python—MatPlotLib—多模型的ROC曲线

让人想犯罪 __ 提交于 2019-11-30 02:11:38

文章目录

示例

在这里插入图片描述

代码

from sklearn.metrics import roc_curve, auc
import matplotlib as mpl  
import matplotlib.pyplot as plt

plt.figure(figsize=(15, 10))
def plot_roc(labels, predict_probs, titles):
    color = ['r', 'g', 'b', 'y']                                                                 
    shape = ['o', 'v', '^']   
    
    for idx, predict_prob in enumerate(predict_probs):
        false_positive_rate,true_positive_rate,thresholds=roc_curve(labels, predict_prob)
        roc_auc=auc(false_positive_rate, true_positive_rate)
        plt.title('ROC')
        c = color[idx%len(color)]                                                                     
        s = shape[idx%len(shape)]
        plt.plot(false_positive_rate, true_positive_rate,'b',label='AUC K:{} = {:.4}'.format(titles[idx], roc_auc), color=c, marker=s, markevery=20)  
        plt.legend(loc='lower right')
        plt.plot([0,1],[0,1],'r--')
        plt.ylabel('TPR')
        plt.xlabel('FPR')
plot_roc(pca_test_label, predict_probs)

解释

该代码参数含义为:

  • label: 长度为N的列表,二分类的真实标签
  • predict_probs:二级列表,每个元素为长度为N的列表,记录的是正类的概率。
  • titles:图例中的K:xxx的名称列表
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!