全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
6134 36
2017-02-13
刚学xgboost,通过下面的代码初步建立了模型,也能跑出结果,不过结果是以概率的形式展现的(不知道为什么),结果的正确率大概也只有50%,然后无论我怎么去调参数,结果永远是50%,不会改变,改变的只有概率的大小(没有用),郁闷了,请大家帮忙看下是怎么回事,该怎么去优化。(附上整理后的数据,id为因变量y,其余为变量x)
代码:
svmdata<-read.csv("E://12yue//12quan.csv",header=T)
ind<-sample(2,nrow(svmdata),replace=TRUE,prob=c(0.9,0.1))
traindata<-svmdata[ind==1, ]
testdata<-svmdata[ind==2, ]

tdata <- as.matrix(traindata)
edata <- as.matrix(testdata)
y <- as.matrix(traindata$id)


library(xgboost)

xgb <- xgboost(data=tdata,label=y,max.depth=6,eta=0.3,nrounds=5000,verbose=2,objective="binary:logistic")


pred <- predict(xgb,sdata)


shuju.xlsx
大小:(4.98 MB)

 马上下载










附件列表

shuju1.xlsx

大小:4.99 MB

 马上下载

二维码

扫码加我 拉你入群

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

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

全部回复
2017-2-13 09:51:26
对了,测试数据一定要把id那一列给删掉,要不然出来的结果是全对的
二维码

扫码加我 拉你入群

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

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

2017-2-13 10:04:00
运行结果是这样的
附件列表
微信截图_20170213100238.png

原图尺寸 9.04 KB

微信截图_20170213100238.png

二维码

扫码加我 拉你入群

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

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

2017-2-13 10:25:10
二分类用logistics显示的确实是概率 可以这样定义
ifelse(predict >0.5,1,0)
然后再去计算acc或者其他之类的
二维码

扫码加我 拉你入群

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

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

2017-2-13 10:28:53
你先贴一个confusionmatrix 的运行结果出来。
二维码

扫码加我 拉你入群

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

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

2017-2-13 10:33:52
tdata 包含ID列了吧。 要去掉啊。 。。。。。。
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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