R语言ROC曲线下的面积 - 评估逻辑回归中的歧视

原文链接:http://tecdat.cn/?p=6310

在讨论ROC曲线之前,首先让我们在逻辑回归的背景下考虑校准和区分之间的区别。

良好的校准是不够的

对于模型协变量的给定值,我们可以获得预测的概率。如果观察到的风险与预测的风险(概率)相匹配,则称该模型已被很好地校准。也就是说,如果我们要分配一组值的大量观察结果,这些观察结果的比例应该接近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表示一致性)。


非常感谢您阅读本文,有任何问题请在下面留言!

大数据部落——中国专业的第三方数据服务提供商,提供定制化的一站式数据挖掘和统计分析咨询服务

统计分析和数据挖掘咨询服务 :y0.cn/teradat(咨询服务请联系官网客服

QQ:3025393450

 

【服务场景】

科研项目;

公司项目外包 ;线上线下一对一培训 ;数据采集;学术研究;报告撰写;市场调查。

【大数据部落】提供定制化的一站式数据挖掘和统计分析咨询服务

分享最新的大数据资讯,每天学习一点数据分析,让我们一起做有态度的数据人

微信客服号:lico_9e

QQ交流群:186388004 

欢迎选修我们的R语言数据分析挖掘必知必会课程!

欢迎关注微信公众号,了解更多数据干货资讯!

原文地址:https://www.cnblogs.com/tecdat/p/11460425.html

时间: 2024-10-08 01:20:20

R语言ROC曲线下的面积 - 评估逻辑回归中的歧视的相关文章

R语言与分类算法的绩效评估(转)

关于分类算法我们之前也讨论过了KNN.决策树.naivebayes.SVM.ANN.logistic回归.关于这么多的分类算法,我们自然需要考虑谁的表现更加的优秀. 既然要对分类算法进行评价,那么我们自然得有评价依据.到目前为止,我们讨论分类的有效性都是基于分类成功率来说的,但是这个指标科学吗?我们不妨考虑这么一个事实:一个样本集合里有95个正例,5个反例,分类器C1利用似然的思想将所有的实例均分成正例,分类成功率为95%:分类器C2成功分出了80个正例,3个反例,分类成功率仅83%.我们可以说

ROC曲线,AUC面积

1. 什么是ROC曲线? ROC曲线是Receiver operating characteristic curve的简称,中文名为“受试者工作特征曲线”.ROC曲线源于军事领域,横坐标为假阳性率(False positive rate,FPR),纵坐标为真阳性率(True positive rate,TPR). 假阳性率 FPR = FP/N ---N个负样本中被判断为正样本的个数占真实的负样本的个数  真阳性率 TPR = TP/P ---P个正样本中被预测为正样本的个数占真实的正样本的个数

【机器学习】--模型评估指标之混淆矩阵,ROC曲线和AUC面积

一.前述 怎么样对训练出来的模型进行评估是有一定指标的,本文就相关指标做一个总结. 二.具体 1.混淆矩阵 混淆矩阵如图: 相关公式: 公式解释: fp_rate: tp_rate: recall:(召回率) 值越大越好 presssion:(准确率) TP:本来是正例,通过模型预测出来是正列 TP+FP:通过模型预测出来的所有正列数(其中包括本来是负例,但预测出来是正列) 值越大越好 2.ROC曲线 过程:对第一个样例,预测对,阈值是0.9,所以曲线向上走,以此类推. 对第三个样例,预测错,阈

R语言-画图(下)

在上一篇文章中,Mayuyu介绍了R中的一些常见的画图,本文就来详细介绍各种画图的用法. 1. 散点图 画图如下 由于平台的问题,中文显示不出来. 下面是用plot画折线,如下代码 画图结果 多条曲线的效果,代码如下 画图效果如下 画分布函数密度图,代码如下 画图结果如下 2. R的内置数据集 R中有很多的内置数据,只需要输入命令data()就知道有哪些数据集了.

信用卡评分模型(R语言)

信用卡评分 一.数据准备 1. 问题的准备 ? 目标:要完成一个评分卡,通过预测某人在未来两年内将会经历财务危机的可能性来提高信用评分的效果,帮助贷款人做出最好的决策. ? 背景: – 银行在市场经济中起到至关重要的作用.他们决定谁在什么条件下可以得到融资,并且可以创造或打破投资决策.而市场.社会,以及个人和企业都需要获得贷款. – 信用评分算法,对默认可能性进行猜测,这是银行用来判断贷款是否应该被授予的方法. ? 准备: – 首先是基于个人借贷的场景,确定"违约"的定义: 根据新的B

R语言︱机器学习模型评价指标+(转)模型出错的四大原因及如何纠错

笔者寄语:机器学习中交叉验证的方式是主要的模型评价方法,交叉验证中用到了哪些指标呢? 交叉验证将数据分为训练数据集.测试数据集,然后通过训练数据集进行训练,通过测试数据集进行测试,验证集进行验证. 模型预测效果评价,通常用相对绝对误差.平均绝对误差.根均方差.相对平方根误差等指标来衡量. 只有在非监督模型中才会选择一些所谓"高大上"的指标如信息熵.复杂度和基尼值等等. 其实这类指标只是看起来老套但是并不"简单",<数据挖掘之道>中认为在监控.评估监督模型

精确率与召回率,RoC曲线与PR曲线

在机器学习的算法评估中,尤其是分类算法评估中,我们经常听到精确率(precision)与召回率(recall),RoC曲线与PR曲线这些概念,那这些概念到底有什么用处呢? 首先,我们需要搞清楚几个拗口的概念: 1. TP, FP, TN, FN True Positives,TP:预测为正样本,实际也为正样本的特征数 False Positives,FP:预测为正样本,实际为负样本的特征数 True Negatives,TN:预测为负样本,实际也为负样本的特征数 False Negatives,

R语言︱机器学习模型评估方案(以随机森林算法为例)

R语言︱机器学习模型评估方案(以随机森林算法为例) 笔者寄语:本文中大多内容来自<数据挖掘之道>,本文为读书笔记.在刚刚接触机器学习的时候,觉得在监督学习之后,做一个混淆矩阵就已经足够,但是完整的机器学习解决方案并不会如此草率.需要完整的评价模型的方式. 常见的应用在监督学习算法中的是计算平均绝对误差(MAE).平均平方差(MSE).标准平均方差(NMSE)和均值等,这些指标计算简单.容易理解:而稍微复杂的情况下,更多地考虑的是一些高大上的指标,信息熵.复杂度和基尼值等等. 本篇可以用于情感挖

ROC曲线 VS PR曲线

sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程,QQ:231469242) https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share https://www.plob.org/article/12476.html(原文链接)  初识ROC曲线 1. RO