【发布时间】:2016-03-17 11:05:35
【问题描述】:
我认为这个问题与我不理解的后端操作有关,因为这种行为似乎很奇怪,至少对我来说是这样。
当我运行 C5.0 模型时,其误差矩阵为:
error_cost <- matrix(c(0, 1, 15, 0), nrow = 2)
10 次试验我得到 10 次迭代。
如果我做同样的事情并且在 11 到 100 之间的任何地方进行试验,它会在 7 次迭代时提前停止,并且输出在“工作”时是垃圾。
如果我将错误矩阵更改为:
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)
【问题讨论】:
-
您没有提供任何可运行的代码,因此任何人都无法重现您的结果来测试可能发生的情况。一直不清楚您使用的是什么 R 包和函数。请编辑您的问题以包含reproducible example
-
当您向问题添加标签时,请检查工具提示以确保它适合您的问题上下文。这样它就可以接触到合适的人。 :)
-
我添加了尽可能多的代码。另外,我搜索了更具体的标签,但没有找到。
-
没关系 - 刚刚提到它是因为
boost指的是 c++ 库。 -
谢谢@jbaums,我的错。
标签: r