全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2078 3
2012-08-05
用R软件做数据挖掘的分类模型,用什么语句绘制各个分类模型效果的提升图(lift图)?
用R软件做随机森林模型,用什么语句输出OOB误差图的图?(横轴是树的数量,纵轴是OOB误差)?
谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-12-17 18:04:24

不同阈值下Lift和Depth的轨迹,先画出来:

symbol i=join v=none c=black;

proc gplot data=valid_lift;

plot lift*depth;#这句就画出来了

run; quit;

上图的纵坐标是lift,横坐标depth


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-12-19 11:07:07
DM小菜鸟 发表于 2014-12-17 18:04
不同阈值下Lift和Depth的轨迹,先画出来:symbol i=join v=none c=black;proc gplot data=valid_lift;plot  ...
你这是sas代码吧?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-12-20 22:37:07
对的
SAS和R可以用iml交互

简单点的,就是用ROCR(),计算lift值,然后plot

require(ROCR)
data(ROCR.simple)
data <- as.data.frame(ROCR.simple)[1:10, ]
按照以下步骤计算lift值:


按预测分值对数据集排序
用当前行号/总行数当做Rate of Positive
计算TPR
用TPR列与RPP列计算Lift值
data <- data[order(data[, 1], decreasing = TRUE), ]
data$rpp <- row(data[, 1, drop = FALSE])/nrow(data)
data$target_cum <- cumsum(data[, "labels"])
data$tpr <- data$target_cum/sum(data[, "labels"])
data$lift <- data$tpr/data$rpp
data
##    predictions labels rpp target_cum    tpr   lift
## 7       0.9706      1 0.1          1 0.1667 1.6667
## 8       0.8902      1 0.2          2 0.3333 1.6667
## 10      0.8688      0 0.3          2 0.3333 1.1111
## 9       0.7818      1 0.4          3 0.5000 1.2500
## 1       0.6125      1 0.5          4 0.6667 1.3333
## 3       0.4321      0 0.6          4 0.6667 1.1111
## 5       0.3849      0 0.7          4 0.6667 0.9524
## 2       0.3643      1 0.8          5 0.8333 1.0417
## 6       0.2444      1 0.9          6 1.0000 1.1111
## 4       0.1403      0 1.0          6 1.0000 1.0000
根据这个结果,RPP放横轴,Lift放纵轴画出lift图。


par(mfrow = c(1, 2))
plot(data$rpp, data$lift, type = "l", main = "Lift Chart")


就是这样了


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群