Yz19 2023-04-14 23:46 采纳率: 100%
浏览 15
已结题

怎么看sas的roc结果

img

img

img

1、做出了roc曲线和确定了截断值,怎么看截断值的灵敏度和特异度。
2、怎么做出光滑的roc曲线
麻烦大家啦🙏

  • 写回答

1条回答 默认 最新

  • 努力の小熊 全国大学生物联网技术与应用大赛获奖者 2023-04-15 17:23
    关注

    一旦你绘制了ROC曲线并确定了截断值,你可以从ROC曲线上读取相应截断值的灵敏度和特异度。
    根据你选择的截断值,你可以在ROC曲线上找到对应的点。该点的y值表示灵敏度,x值表示1-特异度。例如,如果你的截断值对应的点在ROC曲线上的坐标为(0.2, 0.8),那么特异度为1 - 0.2 = 0.8,灵敏度为0.8。
    为了绘制光滑的ROC曲线,可以使用插值方法对曲线进行平滑。在Python中,你可以使用SciPy库中的interp1d函数进行插值:

    import numpy as np
    import matplotlib.pyplot as plt
    from scipy.interpolate import interp1d
    
    # 假设 fpr, tpr, thresholds 分别表示假正例率、真正例率和截断值
    fpr = np.array([0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1])
    tpr = np.array([0, 0.3, 0.5, 0.6, 0.7, 0.8, 0.85, 0.9, 0.95, 1, 1])
    
    # 使用插值函数进行平滑
    f_interp = interp1d(fpr, tpr, kind='cubic')
    
    # 生成新的均匀间隔的假正例率
    new_fpr = np.linspace(0, 1, 100)
    
    # 计算对应的真正例率
    new_tpr = f_interp(new_fpr)
    
    # 绘制平滑的ROC曲线
    plt.plot(new_fpr, new_tpr, label="Smooth ROC curve")
    plt.xlabel("1 - Specificity (False Positive Rate)")
    plt.ylabel("Sensitivity (True Positive Rate)")
    plt.legend(loc="lower right")
    plt.show()
    

    注意,这里的fpr和tpr是示例数据,你需要使用自己的数据替换它们。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月24日
  • 已采纳回答 4月16日
  • 创建了问题 4月14日

悬赏问题

  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥50 我撰写的python爬虫爬不了 要爬的网址有反爬机制
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥120 计算机网络的新校区组网设计
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等