ROC/AUC 简易试验

最佳截断点 敏感度 特异度 约登 召回率 混淆矩阵

学习链接, 鼠标放这里

常规学习下面这个矩阵

金标准
+ -
模型 + True Positives(TP) False Positives(FP)
- False Negatives(FN) True Negatives(TN)
P N

正确率 Accuracy = (TP+TN)/(P+N)
错误率 Error Rate = 1 – Accuracy = (FP+FN)/(P+N)
假阳性率 False Positive Rate = FP/N
敏感度=真正阳性正确率 True Positive Rate = Recall = Sensitivity = TP/P
假阴性率 False Negative Rate = FN/P
特异度=真正阴性正确率 True Negative Rate = Specificity = TN/N

#加载包
library(pROC)
#还是用鸢尾花(yuān wěi huā)数据
data(iris)
str(iris)  #查看变量
#去掉其第一个物种分类变量
iris=iris[51:150,  ]
#去掉没用的label
iris$Species=droplevels(iris$Species)
ROC_Result<- roc(iris$Species, iris$Sepal.Width,ci = TRUE)
ROC_Result
plot(ROC_Result)
#平滑ROC绘制
ROC_smooth <- smooth(ROC_Result, method="binormal")
plot(ROC_smooth)

#最佳截断点的确定,各种率,召回率,约登指数,准确率=ROC
coords(ROC_Result, "best")
coords(ROC_Result, "best", ret=c("tpr", "tnr",'precision'))
coords(ROC_Result, "best", ret=c("threshold", "specificity", "1-npv"))

上面的可选参数
#‘arg’ should be one of “threshold”, “specificity”, “sensitivity”, “accuracy”,
#’“tn”, “tp”, “fn”, “fp”, “npv”, “ppv”, “fdr”, “fpr”, “tpr”, “tnr”, “fnr”,
#’ “1-specificity”, “1-sensitivity”, “1-accuracy”, “1-npv”, “1-ppv”,
#’ “precision”, “recall”, “youden”, “closest.topleft”

#绘制混淆矩阵
#提取最佳截断点
a=coords(ROC_Result, "best")[1] [1,1]
#产生新变量,然后根据最佳截断点划分,预测分类变量
iris$prediction=as.character(iris$Species)
#设置方向的话要参考统计描述和上面默认设置的对照
#选择原始数据判断为小的那个为 小于<判断为它; 然后相反大的
iris$prediction[iris$Sepal.Width < a ] <- "versicolor"
iris$prediction[iris$Sepal.Width > a ] <- "virginica"
#将真实值和预测值整合到一起
obs_p= data.frame(prob= iris$prediction,obs=iris$Species)
#输出混淆矩阵  case=  +  ; control= -
table(obs_p,dnn=c("预测值","真实值"))
coords(ROC_Result, "best")

查看各个指标的置信区间

#查看各项置信区间
library(reportROC)
data$Group=factor(iris$Species,levels = c('versicolor','virginica'))
detailROC <-reportROC(gold=iris$Species,predictor = iris$Sepal.Width,)
#例如提取ACC
a=detailROC
paste0('ACC(95%CI):',a['ACC'],'(',paste(a['ACC.low'],a['ACC.up'],sep='-'),')')
detailROC <-reportROC(gold=data$Group,predictor = data$CEA,)
b=detailROC
paste0('ACC(95%CI):',b['ACC'],'(',paste(b['ACC.low'],b['ACC.up'],sep='-'),')')

ROC/AUC 简易试验 最佳截断点 混淆矩阵 敏感度 特异度 约登指数 各个指标置信区间相关推荐

  1. 混淆矩阵 灵敏度 特异度 阳性预测值 阴性预测值 阳性似然比 阴性似然比

    http://iccm.cc/classification-model-evaluation-confusion-matrix/ 分类器评价与在R中的实现:混淆矩阵 Posted by c cm on ...

  2. 【机器学习系列】【模型评价】【ROC曲线、约登指数最佳阈值】一个函数中实现约登指数计算并集成到ROC图中,给出默认阈值及最佳阈值下的混淆矩阵

    输入实际标签.预测的概率值.预测标签,计算最佳阈值,输出ROC曲线,输出默认阈值下的混淆矩阵和最佳阈值下的混淆矩阵 目录 使用约登指数计算最佳阈值 result_evaluation()函数实现约登指 ...

  3. python编写自定义函数计算约登值(约登指数、Youden Index)、寻找最佳阈值(threshold、cutoff)、可视化ROC曲线并在曲线中标记最佳阈值及其数值标签

    python编写自定义函数计算约登值(约登指数.Youden Index).寻找最佳阈值(threshold.cutoff).可视化ROC曲线并在曲线中标记最佳阈值及其数值标签 目录

  4. R语言使用yardstick包的conf_mat函数计算多分类(Multiclass)模型的混淆矩阵、并使用summary函数基于混淆矩阵输出分类模型评估的其它详细指标(kappa、npv等13个)

    R语言使用yardstick包的conf_mat函数计算多分类(Multiclass)模型的混淆矩阵(confusion matrix).并使用summary函数基于混淆矩阵输出分类模型评估的其它详细 ...

  5. ROC/AUC、精准率、召回率、真正率,假正率等指标含义,学习笔记

    1. 混淆矩阵 对于二分类模型,预测值与真实值的组合情况,行成了混淆矩阵. 第一个字母表示是否预测正确(T/F),第二个表示预测为 P/1 还是 N/0. 2. 准确率 预测正确的结果占总样本的百分比 ...

  6. 使用约登指数寻找最佳ROC曲线阈值

    预备知识 对于二元分类结果评价,ROC曲线是常用标准,其使用TPR与FPR绘制而成.(相关知识推荐博文:一文让你彻底理解准确率,精准率,召回率,真正率,假正率,ROC/AUC) 而TPR与FPR的计算 ...

  7. 混淆矩阵--在图像精度的应用(mIou指标)

    主要运用在图像分割当中的miou指标–(unet网络) 混淆矩阵 在图像精度评价中,主要用于比较分类结果和实际测得值,可以把分类结果的精度显示在一个混淆矩阵里面,如下,对角线为正确分类的点. 这里顺便 ...

  8. 图像分类中混淆矩阵精度验证法中的几个指标说明

    ToolBox->Classification->PostClassification->Confusion Matrix->Using Ground Truth ROIs,可 ...

  9. 如何理解混淆矩阵,以及预测少数类的评估指标?

    前言:本文介绍混淆矩阵,以及召回率.精确率和F1-score. 主要解决:混淆矩阵记忆不方便记忆,指标容易混淆2个问题. 为什么要使用混淆矩阵来评估模型? 通常模型会使用准确率来评估模型,但要注意准确 ...

最新文章

  1. js之事件冒泡和事件捕获
  2. 看了这篇C++笔记,你出去行走江湖我就放心了【C++】
  3. SDO_GEOMETRY结构说明
  4. SAP UI5 应用开发教程之十九 - SAP UI5 数据类型和复杂的数据绑定
  5. 微服务feignclient_[Spring cloud 一步步实现广告系统] 11. 使用Feign实现微服务调用
  6. matlab输出高分辨率图片有白色毛刺,科学网—图片空白边缘处理/统计直方图---matlab/保存生成高质量的清晰图 - 杨小林的博文...
  7. 赫胥黎的焦虑与美丽新世界
  8. STL学习系列一:STL(标准模板库)理论基础
  9. 设计模式笔记二十:观察者模式 |更新版
  10. 方法的形式参数是类名的时候如何调用
  11. java实现户籍管理系统_基于jsp的户籍管理系统-JavaEE实现户籍管理系统 - java项目源码...
  12. 我的世界服务器修改怪物生成,《我的世界》禁止怪物生成代码 服务器禁止怪物...
  13. 企业logo设计技巧大揭密
  14. 华为实验跨交换机不同vlan通信
  15. Ambarella SDK build 步骤解析
  16. 怎么把服务器上的文件备份到nas,如何将文件备份到NAS
  17. 安卓商城选择商品规格
  18. 关于时间、物质结构、四维空间的猜想
  19. stm32山外虚拟示波器笔记
  20. 车牌识别系统论文python_毕业设计 python opencv实现车牌识别 界面

热门文章

  1. 四川跃恒云启:拼多多选品有什么技巧
  2. MyBatis、MyBatisPlus转义数据库关键字
  3. 能源行业走向“双碳目标”,“标本双治”是关键
  4. 初学Java:为什么打印希腊字母时会有问号“乱入”
  5. 使用微力同步进行多端同步开发
  6. Linux平台下Spool导出数据并发送到邮箱
  7. 快手有粉丝以后怎么赚钱
  8. iOS 8 AutoLayout 及SizeClass(三) 使用详解 好多值得学习及研究的地方
  9. 兰州大学2018计算机考研复试线,2018年兰州大学考研复试分数线已公布
  10. C Sharp进行全站仪的圆曲线整桩位计算