全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2541 10
2018-12-03
最近使用foreach以及doParallel这个包进行并行计算。使用GBM包中gbm函数进行GBDT算法。想用此算法实现GBDT算法的预测,虽然GBDT算法是递归的算法,但是我在进行计算时,是对决策树的数目进行每台机器的树的数量的分配。我的疑问是GBM函数是否可以向randomforest算法一样使用:
model<-foreach(ntree=rep(,n.cores),.combine=,.packages="randomForest")%dopar%randomForest(x,y,ntree)
这样的形式进行计算,我自己拿数据进行验证时,发现在使用GBM算法进行计算时,ntree不进行每天机器上的均匀分配,即不使用rep函数,直接用数值表示,比如ntree=1000,这样进行计算时,模型的运行内存不能平均分配,大都在一台机器上运行;如果使用rep函数,比如ntree=4000颗树,我将其设置为4台服务器上分别1000棵树(rep(1000,4)),这样设置模型运行不会出错,运行速率会加快一倍左右,但是进行回归预测时,认为该模型不是gbm的对象,无法进行预测?
这个该怎么解,有没有可以在gbm模型上使用并行算法的计算?谢谢!请各位见多识广的朋友,多多提想法,我会一一去验证,谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2018-12-3 11:48:36
帮你顶一下帖
二维码

扫码加我 拉你入群

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

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

2018-12-3 12:43:59
啊啊啊啊啊吖 发表于 2018-12-3 11:48
帮你顶一下帖
谢谢啊
二维码

扫码加我 拉你入群

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

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

2018-12-3 14:06:59
没看明白你咋搞的,要想实现部分并行,用XGBoost吧,我觉得你现在的处理有些问题
二维码

扫码加我 拉你入群

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

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

2018-12-3 16:53:46
露露的家园2012 发表于 2018-12-3 12:43
谢谢啊
xgboost 吧。  完美支持并行计算。
二维码

扫码加我 拉你入群

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

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

2018-12-3 16:55:37
rf 用的bagging 方法,所以可以很容易做并行计算。
gbm 不是。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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