加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

R语言:SMOTE - Supersampling Rare Events in R:用R对非平衡数

发布时间:2021-03-09 20:13:42 所属栏目:大数据 来源:网络整理
导读:SMOTE - Supersampling Rare Events in R:用R对稀有事件进行超级采样 在这个例子中将用到以下三个包 {DMwR} - Functions and data for the book “Data Mining with R” and SMOTE algorithm:SMOTE算法 {caret} - modeling wrapper,functions,commands:模型

library(DMwR)
## Loading required package: grid
##?
## Attaching package: 'DMwR'
##?
## 下列对象被屏蔽了from 'package:plyr':
##?
## ? ? join
trainSplit$target<-as.factor(trainSplit$target)
trainSplit<-SMOTE(target~.,trainSplit,perc.over=100,perc.under=200)
trainSplit$target<-as.numeric(trainSplit$target)
# 我们再次用prop.table()函数检查结果的平衡性,确定我们已经让阴性、阳性数据达到相同。
prop.table(table(trainSplit$target))
##?
## ? 1 ? 2?
## 0.5 0.5
# 再次建立treebag模型
tbmodel<-train(target~.,
? ? ? ? ? ? ? ?trControl=ctrl)
predictors<-names(trainSplit)[names(trainSplit)!='target']
pred<-predict(tbmodel$finalModel,predictors])
auc<-roc(testSplit$target,predictor = pred)
##?
## Data: pred in 1509 controls (testSplit$target 0) < 72 cases (testSplit$target 1).
## Area under the curve: 0.99
哇,达到0.99,比之前的0.985有提高
plot(auc,predictor = pred)
##?
## Data: pred in 1509 controls (testSplit$target 0) < 72 cases (testSplit$target 1).
## Area under the curve: 0.99
abline(h=1,lwd=2)
abline(h=0,lwd=2)

R语言:SMOTE - Supersampling Rare Events in R:用R对非平衡数

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读