R语言ROC曲线下的面积 - 评估逻辑回归中的歧视
我们围绕ROC曲线技术进行一些咨询,帮助客户解决独特的业务问题。在讨论ROC曲线之前,首先让我们在逻辑回归的背景下考虑校准和区分之间的区别。
相关视频:R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险
逻辑回归Logistic模型原理和R语言分类预测冠心病风险实例
,时长06:48
良好的校准是不够的
对于模型协变量的给定值,我们可以获得预测的概率。如果观察到的风险与预测的风险(概率)相匹配,则称该模型已被很好地校准。也就是说,如果我们要分配一组值的大量观察结果,这些观察结果的比例应该接近20%。如果观察到的比例是80%,我们可能会同意该模型表现不佳 - 这低估了这些观察的风险。 我们是否应满足于使用模型,只要它经过良好校准?不幸的是。为了了解原因,假设我们为我们的结果拟合了一个模型但没有任何协变量,即模型: 对数几率,使得预测值将与数据集中的观察的比例相同。 这个(相当无用的)模型为每个观察分配相同的预测概率。它将具有良好的校准 - 在未来的样品中,观察到的比例将接近我们的估计概率。然而,该模型并不真正有用,因为它不区分高风险观察和低风险观察。这种情况类似于天气预报员,他每天都说明天下雨的几率为10%。这个预测可能已经过很好的校准,但它没有告诉人们在某一天下雨的可能性是否更大或更低,因此实际上并不是一个有用的预测!
在R中绘制ROC曲线
set.seed(63126)
n < - 1000
x < - rnorm(n)
pr < - exp(x)/(1 + exp(x))
y < - 1 *(runif(n)<pr)
mod < - glm(y~x,family =“binomial”)
接下来,我们从拟合的模型对象中提取拟合概率的向量:
predpr < - predict(mod,type = c(“response”))
我们现在加载pROC包,并使用roc函数生成一个roc对象。基本语法是指定回归类型方程,左侧是响应y,右侧是包含拟合概率的对象:
roccurve < - roc(y~preppr)
然后可以使用绘制roc对象
这给了我们ROC图(见前面的图)。请注意,这里因为我们的逻辑回归模型只包含一个协变量,如果我们使用roc(y~x),ROC曲线看起来完全相同,即我们不需要拟合逻辑回归模型。这是因为只有一个协变量,拟合概率是唯一协变量的单调函数。然而,一般而言(即模型中有一个以上的协变量),情况并非如此。
以前我们说过一个具有良好辨别能力的模型,ROC曲线将接近左上角。要通过模拟检查这一点,我们将重新模拟数据,将日志优势比从1增加到5:
set.seed(63126)
n < - 1000
x < - rnorm(n)
pr < - exp(5 * x)/(1 + exp(5 * x))
y < - 1 *(runif(n)<pr)
mod < - glm(y~x,family =“binomial”)predpr < - predict(mod,type = c(“response”))roccurve < - roc(y~preppr)
现在让我们再次运行模拟,但变量x实际上与y无关。为此,我们只需修改生成概率向量pr的行
pr < - exp(0 * x)/(1 + exp(0 * x))
它给出了以下ROC曲线
ROC曲线,其中预测因子与结果无关
ROC曲线下面积
总结模型辨别能力的一种流行方式是报告ROC曲线下的面积。我们已经看到具有辨别能力的模型具有更接近图的左上角的ROC曲线,而没有辨别能力的模型具有接近45度线的ROC曲线。因此,曲线下面积从1(对应于完美辨别)到0.5(对应于没有辨别能力的模型)。ROC曲线下面积有时也称为c统计量(c表示一致性)。
R语言ROC曲线下的面积 - 评估逻辑回归中的歧视相关推荐
- 分类模型-评估指标(2):ROC曲线、 AUC值(ROC曲线下的面积)【只能用于二分类模型的评价】【不受类别数量不平衡的影响;不受阈值取值的影响】【AUC的计算方式:统计所有正负样本对中的正序对】
评价二值分类器的指标很多,比如precision.recall.F1 score.P-R曲线等.但这些指标或多或少只能反映模型在某一方面的性能.相比而言,ROC曲线则有很多优点,经常作为评估二值分类器 ...
- R语言 | 二分类和多分类的逻辑回归实现
目录 二分类逻辑回归 数据准备 模型构建 模型检验 多分类逻辑回归 二分类逻辑回归 首先,我先展示下我逻辑回归的总体代码,如果有基础的同志需要的话,可以直接修改数据和参数拿去用呀: library(l ...
- 推荐系统:常用评价指标总结【准确率、精确率、召回率、命中率、(归一化折损累计增益)NDCG、平均倒数排名(MRR)、ROC曲线、AUC(ROC曲线下的面积)、P-R曲线、A/B测试】
1.Recall(召回率)与Precision(精确率) 网站在提供推荐服务时,一般是给用户一个个性化的推荐列表,这种推荐叫做TopN推荐,TopN推荐的预测准确率一般通过召回率和精确率来度量. 在介 ...
- 准确率,查准率,查全率,ROC曲线,AUC面积
正确翻译: T :正确 P:正样本 TP:表示正确预测,预测为正样本 True Positive(真正,TP):将正类预测为正类数 True Negative(真负,TN):将负类预测为负类数 ...
- 分类模型性能评价指标:混淆矩阵、F Score、ROC曲线与AUC面积、PR曲线
以二分类模型为例:二分类模型最终需要判断样本的结果是1还是0,或者说是positive还是negative. 评价分类模型性能的场景: 采集一个称之为测试集的数据集: 测试集的每一个样本由特征数据及其 ...
- ROC曲线,AUC面积
AUC(Area under Curve):Roc曲线下的面积,介于0.1和1之间.Auc作为数值可以直观的评价分类器的好坏,值越大越好. 首先AUC值是一个概率值,当你随机挑选一个正样本以及负样本, ...
- R语言使用pROC包绘制ROC曲线实战:roc函数计算AUC值、plot.roc函数绘制ROC曲线、添加置信区间、为回归模型中的每个因子绘制ROC曲线并在同一个图中显示出来
R语言使用pROC包绘制ROC曲线实战:roc函数计算AUC值.plot.roc函数绘制ROC曲线.添加置信区间.为回归模型中的每个因子绘制ROC曲线并在同一个图中显示出来 目录
- cv曲线面积的意义_几何直觉的魅力:sinx曲线下的面积原理是如此的美妙
用"曲线下的面积"来描述积分,就像用一串单词来描述一本书. 正弦函数的积分是其曲线下的面积.几何直觉就是:"正弦的积分是沿圆周路径的水平距离."这句话第一次听说 ...
- 数据分享|R语言关联规则挖掘apriori算法挖掘评估汽车性能数据
全文链接:http://tecdat.cn/?p=32092 我们一般把一件事情发生,对另一件事情也会产生影响的关系叫做关联.而关联分析就是在大量数据中发现项集之间有趣的关联和相关联系(形如" ...
最新文章
- dubbo源码解析(三十五)集群——cluster
- NIO详解(一):java网络编程IO总结(BIO、NIO、AIO)
- 【听哥一句劝,C++水很深,你把握不住啊!】C++提高班之 符与*符
- 清华大学《操作系统》(十二):临界区与锁
- live555 linux编译静态库,【Live555】liveMedia下载、配置、编译、安装、基本概念
- 11.2.0.3 实例启动现在提供Large Pages Information大内存页信息了
- 解决Nginx环境下wordpress设置固定链接打开失败问题
- mysql从只有一个备份文件(多个数据库的备份)中恢复数据到指定数据库
- 3D几何图形PS笔刷下载安装
- JavaScript 优先队列
- 13我无所不能——无线网络里面的秘密
- Multisim安装问题
- 【dos命令--教程】批量修改文件后缀
- python 报错: unindent does not match any outer indentation level
- 日常部署之OA办公系统源码OA协同办公源码包含CRM客户管理系统+内部聊天工具+自适应手机(含php源码)
- 领先三星、华为,全球首款可折叠柔性屏手机惊艳上市
- erdas遥感图像几何校正_实验二 ERDAS遥感图像的几何校正
- 微信小程序实现store功能
- 辽宁聚能合创:抖音怎么增加浏览量?
- 计算机函数最大值选择,求助!求解函数的最大值程序怎么算?