我认为这个问题更多地与我不理解的后端操作有关,因为这种行为似乎奇怪,至少对我而言。
当我使用(尽管极端)错误矩阵:
运行C5.0模型时 error_cost <- matrix(c(0, 1, 15, 0), nrow = 2)
和10次试验我得到10次迭代。
如果我在11到100之间的任何地方做同样的事情和试验,它会在7次迭代中提前停止,而输出,而#34;工作&#34;则是垃圾。
如果我将错误矩阵更改为:
error_cost <- matrix(c(0, 1, 4, 0), nrow = 2)
将迭代次数增加到100次,迭代100次(结果非常好)。
显然我的问题在于错误成本,但我只是想了解为什么它会导致它以这种方式运行。虽然这是我正在研究的一个真正的问题,但错误成本和迭代更多的是试图理解幕后发生的事情。
思考?
提前致谢。
完整代码:
library(C50)
model_data_train$Donated <- as.factor(model_data_train$Donated)
model_data_test$Donated <- as.factor(model_data_test$Donated)
error_cost <- matrix(c(0, 4, 1, 0), nrow = 2)
dt_model10 <- C5.0(model_data_train[-113], model_data_train$Donated,
trials = 100,
rules = TRUE, costs = error_cost)
答案 0 :(得分:0)
如果您在图书馆文档中深入阅读,则可以使用名为earlyStopping的控件功能进行切换:
dt_model10 <- C5.0(model_data_train[-113], model_data_train$Donated,
trials = 100,
rules = TRUE,
costs = error_cost,
control=C5.0Control(earlyStopping=FALSE))
由@Kenston Choi提及