R /包C5.0 /是否存在已知的不可恢复的故障情况?

时间:2014-01-20 06:36:23

标签: r crash

我正在测试预处理组合。该脚本生成并循环3200个版本的原始数据(n = 48,p = 30),并使用knnsvmRadialsvmPolynomialrandomForest评估其对分类的适用性,gbmC5.0。培训是通过Caret的train功能完成的。

最小的数据版本有35行3列。分类目标变量 有app的三个班级。 40%/ 40%/ 20%分布。

由于某些原因,C5.0会导致R版本在版本1900-2800之间崩溃。崩溃R的训练/测试数据版本每次都不同。运行脚本 与所有其他分类器一起运作良好。

用于C5.0的代码是:

C50_model <- function(train_x, test_x, train_y, test_y){
tryCatch({
C50_fit <- train(train_x, train_y, tuneLength=tuning,    
method="C5.0",trControl=bootControl)
C50_pred <- as.character(predict(C50_fit, newdata=test_x))
C50_error <- round(ce(test_y, C50_pred),2)
return(list(C50_pred, C50_error))
}, error= function(e) return(list(NA, NA)) ) # close tryCatch
}

trControl:

bootControl <- trainControl(method = "boot", number = 1, p=0.67)

会话信息是:

R version 3.0.2 (2013-09-25)
Platform: x86_64-w64-mingw32/x64 (64-bit)

C5.0是:

C50_0.1.0-15

是否有任何已知条件导致R与C5.0崩溃 或者我能做些什么来帮助R恢复到错误信息而不会崩溃?

1 个答案:

答案 0 :(得分:0)

C5.0相对较新,所以如果有某种内存分配错误导致R崩溃,我不会感到惊讶。如果没有数据集,很难确定原因,但是通过编写日志信息,您至少可以在发生错误时缩小范围。

verboseIter = TRUE添加到trainControl选项,然后关闭缓冲输出(在R GUI的Misc菜单中)。