【问题记录】混淆矩阵、召回率和精确度等指标近乎完美,但ROC很难看

一位新手研究者分享在使用深度学习处理临床信号分类时遇到的问题,模型的混淆矩阵和精度等指标良好,但ROC曲线表现欠佳。文章探讨了原因在于模型预测效果不理想,概率分布集中在较低值,以及如何通过深入理解ROC原理和调整策略来改进模型。
摘要由CSDN通过智能技术生成

问题描述

最近用深度学习做临床体征信号分类,都是些一维数据,在输出统计指标时,发现一个很奇怪的现象,困扰了很久:各种统计指标,什么混淆矩阵、精确度、召回率和F1值都很好看,唯独画ROC曲线时特别难看,怎么改也没用,甚至试过网上的对预测概率排序后再输入(或只输入概率较高的部分),均无济于事。
在这里插入图片描述

问题所在

用于计算ROC的测试集数据里面,预测值有很多效果不好,比如很多预测概率在0.5~0.6,将概率从小到大排序输出一下就可以发现,输入如图所示:
在这里插入图片描述

    # 预测概率从小到大排序,打印输出前100个
    sort = np.argsort(label_prob) # 返回从小到大排序的索引
    label_true = label_true[sort]
    label_pred = label_pred[sort]
    label_prob = label_prob[sort]
    print('label_true is ',label_true[:100])
    print('label_prob is ',label_prob[:100])
    # 之所以ROC这么难看,是因为有些样本的预测概率很低。
    statistics_show(label_true=label_true, label_pred=label_pred, label_prob=label_prob) 

最后

多debug和print检查一下,就会发现问题所在,最终还是要回到ROC绘图和计算的原理本身。所以导致这个问题的,还是模型预测效果不佳,尚有改进空间。

Notes

新手上路,学术菜鸡一个,如有错误,还请不吝指出~

Reference

sklearn.metrics中的roc_auc_score理解以及使用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值