拓端tecdat|R语言:逻辑回归ROC曲线对角线分析过程及结果
原文链接:http://tecdat.cn/?p=19018
原文出处:拓端数据部落公众号
之前我们讨论了使用ROC曲线来描述分类器的优势,有人说它描述了“随机猜测类别的策略”,让我们回到ROC曲线来说明。考虑一个非常简单的数据集,其中包含10个观测值(不可线性分离)
在这里我们可以检查一下,确实是不可分离的
plot(x1,x2,col=c("red","blue")[1+y],pch=19)
考虑逻辑回归
reg = glm(y~x1+x2,data=df,family=binomial(link = "logit"))
我们可以使用我们自己的roc函数
roc=function(s,print=FALSE){
Ps=(S<=s)*1FP=sum((Ps==1)*(Y==0)/sum(Y==0)TP=sum((Ps==1)*(Y==1)/sum(Y==1)if(print==TRUE){print(table(Observed=Y,Predicted=Ps))vect=c(FP,TP)names(vect)=c("FPR","TPR")
或R包
performance(prediction(S,Y),"tpr","fpr")
我们可以在这里同时绘制两个
因此,我们的代码在这里可以正常工作。让我们考虑一下对角线。第一个是:每个人都有相同的概率(例如50%)
points(V[1,],V[2,])
但是,我们这里只有两点:(0,0)和(1,1)。实际上,无论我们选择何种概率,都是这种情况
plot(performance(prediction(S,Y),"tpr","fpr"))
points(V[1,],V[2,])
我们可以尝试另一种策略,例如“通过扔无偏硬币进行预测”。我们得到
segments(0,0,1,1,col="light blue")
我们还可以尝试“随机分类器”,在其中我们随机选择分数
S=runif(10)
更进一步。我们考虑另一个函数来绘制ROC曲线
y=roc(x)
lines(x,y,type="s",col="red")
但是现在考虑随机选择的策略
for(i in 1:500){
S=runif(10)
V=Vectorize(roc.curve)(seq(0,1,length=251)
MY[i,]=roc_curve(x)
红线是所有随机分类器的平均值。它不是一条直线,我们观察到它在对角线周围的波动。
reg = glm(PRO~.,data=my,family=binomial(link = "logit"))plot(performance(prediction(S,Y),"tpr","fpr"))segments(0,0,1,1,col="light blue")
这是一个“随机分类器”,我们在单位区间上随机绘制分数
segments(0,0,1,1,col="light blue")
如果我们重复500次,我们可以获得
for(i in 1:500){S=runif(length(Y))MY[i,]=roc(x)
}lines(c(0,x),c(0,apply(MY,2,mean)),col="red",type="s",lwd=3)
segments(0,0,1,1,col="light blue")
因此,当我在单位区间上随机绘制分数时,就会得到对角线的结果。给定Y,我们可以绘制分数的两个经验累积分布函数
plot(f0,(0:(length(f0)-1))/(length(f0)-1))lines(f1,(0:(length(f1)-1))/(length(f1)-1))
我们还可以使用直方图(或密度估计值)查看分数的分布
hist(S[Y==0],col=rgb(1,0,0,.2),probability=TRUE,breaks=(0:10)/10,border="white")
我们确实有一个“完美的分类器”(曲线靠近左上角)
有错误。那应该是下面的情况
在10%的情况下,我们可能会分类错误
更多的错误分类
最终我们有对角线
最受欢迎的见解
1.R语言多元Logistic逻辑回归 应用案例
2.面板平滑转移回归(PSTR)分析案例实现
3.matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)
4.R语言泊松Poisson回归模型分析案例
5.R语言回归中的Hosmer-Lemeshow拟合优度检验
6.r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现
7.在R语言中实现Logistic逻辑回归
8.python用线性回归预测股票价格
9.R语言如何在生存分析与Cox回归中计算IDI,NRI指标
拓端tecdat|R语言:逻辑回归ROC曲线对角线分析过程及结果相关推荐
- 拓端tecdat|R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险
最近我们被客户要求撰写关于冠心病风险的研究报告,包括一些图形和统计输出. 相关视频:R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险 逻辑回归Logistic模型原理和R语言分类预测冠 ...
- 拓端tecdat|R语言用LOESS(局部加权回归)季节趋势分解(STL)进行时间序列异常检测
最近我们被客户要求撰写关于LOESS(局部加权回归)的研究报告,包括一些图形和统计输出. 这篇文章描述了一种对涉及季节性和趋势成分的时间序列的中点进行建模的方法.我们将对一种叫做STL的算法进行研究, ...
- 拓端tecdat|R语言线性回归和时间序列分析北京房价影响因素可视化案例
最近我们被客户要求撰写关于北京房价影响因素的研究报告,包括一些图形和统计输出. 目的 房价有关的数据可能反映了中国近年来的变化: 人们得到更多的资源(薪水),期望有更好的房子 人口众多 独生子女政策: ...
- 拓端tecdat|R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系
最近我们被客户要求撰写关于向量误差修正模型的研究报告,包括一些图形和统计输出. 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以 ...
- R语言逻辑回归logistic regression对付费用户进行预测
对于某企业新用户,会利用大数据来分析该用户的信息来确定是否为付费用户,弄清楚用户属性,从而针对性的进行营销,提高运营人员的办事效率. 最近我们被客户要求撰写关于付费预测的研究报告,包括一些图形和统计输 ...
- R语言逻辑回归详细代码:预测双十一顾客是否使用天猫优惠券
R语言逻辑回归详细代码:预测双十一顾客是否使用天猫优惠券 #[1,] "age" 年龄 #[2,] "job" 工作 #[3,] "marital&q ...
- R语言逻辑回归Logistic回归分析预测股票涨跌
最近我们被客户要求撰写关于逻辑回归的研究报告,包括一些图形和统计输出. 视频:R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险 逻辑回归Logistic模型原理和R语言分类预测冠心病风 ...
- R语言逻辑回归、方差分析 、伪R平方分析
目录 怎么做测试 假设条件 并非所有比例或计数都适用于逻辑回归分析 过度分散 伪R平方 测试p值 Logistic回归示例 模型拟合 系数和指数系数 方差分析 伪R平方 模型的整体p值 标准化残差图 ...
- R语言逻辑回归 logistic regression
R语言逻辑回归代码示例 rm(list=ls()) require(kernlab) data(spam) data <- spam n <- nrow(spam) id <- sa ...
- R语言Logistic回归模型亚组分析森林图(forest plot)绘制
R语言Logistic回归模型亚组分析森林图(forest plot)绘制 目录 R语言Logistic回归模型亚组分析森林图(forest plot)R语言Logistic回归模型亚组分析森林图
最新文章
- 《SQL Server企业级平台管理实践》读书笔记——几个系统库的备份与恢复
- 【十二省联考】春节十二响【贪心】【堆】【启发式合并】
- ssm(Spring+Spring mvc+mybatis)Service层实现类——DeptServiceImpl
- Django横向二级导航栏(鼠标悬空事件)
- 14 操作系统第四章 文件管理 文件逻辑结构 文件目录结构
- c++rpg黑框游戏_NO总本色出演断智大师兄,电竞魔音主C人《超级猎杀》一战成名...
- 三面阿里竟然败在了 volatile 关键字上
- 基于Redis+Kafka的首页曝光过滤方案
- 05 基本数据类型+五大数据类型
- 技巧:在Silverlight应用程序中操作Cookie
- 机器学习笔记(二十五):支撑向量机(SVM)
- 算法---贪心算法典型案例
- 爬虫mm131明星照片
- 程序员的最高境界:呆若木鸡
- 【PHP】最详细PHP从入门到精通(一)
- Codeforces Global Round 12 B. Balls of Steel 曼哈顿距离
- win7连接sftp_WinSCP(SFTP客户端)官方版下载_WinSCP(SFTP客户端) v5.17.7.10640中文版 - Win7旗舰版...
- 初夏小谈:叩响C++世界的大门
- 章节十六:复习与反爬虫
- 处理器架构 (十五) 国产cpu芯片与架构