首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Caret和GBM误差

Caret和GBM误差
EN

Stack Overflow用户
提问于 2013-02-10 21:04:29
回答 2查看 4.2K关注 0票数 4

我试图使用R中的caret包来处理几个嵌套的交叉验证过程,并使用用户定义的性能指标。我遇到了各种各样的问题,所以我回过头来看看是否有问题更多的开箱即用caret,似乎我遇到了一个。

如果我运行以下命令:

代码语言:javascript
复制
install.packages("caret")
install.packages("gbm")
library(caret)
library(gbm)


data(GermanCredit)
GermanCredit$Class<-ifelse(GermanCredit$Class=='Bad',1,0)



gbmGrid <- expand.grid(.interaction.depth = 1,
                       .n.trees = 150,
                       .shrinkage = 0.1)


  
   gbmMOD <- train(Class~., data=GermanCredit
                ,method = "gbm",
             tuneGrid= gbmGrid,
                distribution="bernoulli",
                bag.fraction = 0.5, 
                train.fraction = 0.5, 
                n.minobsinnode = 10, 
                cv.folds = 1, 
                keep.data=TRUE,
                verbose=TRUE
                
)

我得到了错误(或类似的):

错误的{:任务1失败-“参数意味着不同的行数: 619,381”

附有警告:

代码语言:javascript
复制
1: In eval(expr, envir, enclos) :
  model fit failed for Resample01: interaction.depth=1, n.trees=150, shrinkage=0.1

但是,如果我只运行gbm例程,一切都会很好。

代码语言:javascript
复制
gbm1 <- gbm(Class~., data=GermanCredit,
            distribution="bernoulli",
            n.trees=150, # number of trees
            shrinkage=0.10, 
            interaction.depth=1, 
            bag.fraction = 0.5,
            train.fraction = 0.5, 
            n.minobsinnode = 10, 
            cv.folds = 1, 
            keep.data=TRUE, 
            verbose=TRUE
)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-05 12:48:07

有两个问题:传递cv.folds造成了问题。另外,您不需要将结果转换为二进制数字;这会导致train认为这是一个回归问题。train函数的思想是为了消除建模函数的不一致性,因此我们使用因子进行分类,使用数字进行回归。

票数 4
EN

Stack Overflow用户

发布于 2013-10-11 21:37:11

请注意,虽然这个问题是由答案中描述的原因引起的,但错误消息(如下所示)也可能发生在旧版本的插入符号和gbm中。我遇到了这个错误,在花了很多时间试图找出问题所在之后,我不得不升级到最新版本的插入符号(5.17-7)和gbm (2.1-0.1)。这些是最近的版本,到今天在CRAN上。

代码语言:javascript
复制
Error in { : 
task 1 failed - "arguments imply differing number of rows: ...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14802575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档