我嘗試使用R中插入符號封裝與「用戶自定義」性能指標幾個嵌套的交叉驗證的過程。我有各種各樣的問題,所以我拉了回來,看看是否有問題一個更開箱使用插入符號的,似乎我已經遇到了一個加字符和GBM錯誤
如果我運行以下命令:。
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
)
我的錯誤(或類似):
Error in { :
task 1 failed - "arguments imply differing number of rows: 619, 381"
wi th警告:
1: In eval(expr, envir, enclos) :
model fit failed for Resample01: interaction.depth=1, n.trees=150, shrinkage=0.1
但是,如果我只運行gbm例程一切都很好。
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
)
我發現添加參數cv.folds = 1時會引發錯誤。應該將cv.folds傳遞給gbm,但由於某些原因導致錯誤。無論如何,cv.folds = 0是gbm的默認值(應該給出與cv.folds = 1相同的結果)。 – 2013-02-10 21:48:46
處理疑似錯誤的常用方法是聯繫軟件包維護人員 – 2013-02-10 22:01:03
發佈問題後,我找出錯誤來自哪裏,並將發送給Max Kuhn。 – 2013-02-11 01:24:42