假设训练数据是“水果”,我将使用它来预测在R中使用CART模型
> fruit=data.frame(
color=c("red", "red", "red", "yellow", "red","yellow",
"orange","green","pink", "red", "red"),
isApple=c(TRUE, TRUE, TRUE, FALSE, TRUE, FALSE,
FALSE,FALSE,FALSE,FALSE,TRUE))
> mod = rpart(isApple ~ color, data=fruit, method="class", minbucket=1)
> prp(mod)
如果我们要使用
minbucket
= 2、3、4、5,那么在此示例中,谁能解释minbucket
在绘制CART树中的确切作用?看到我有2个变量color&isApple。颜色变量有绿色,黄色,粉红色,橙色和红色。是Apple变量的值为TRUE或FALSE。在最后一个示例中,RED映射了三个TRUE和2 FALSE。红色值出现五次。如果我给minbucket = 1,2,3,那么它正在分裂。如果我给minbucket = 4或5,尽管红色出现了五次,但没有拆分发生。
最佳答案
从rpart
软件包的文档中:
小桶
任何终端节点中的最小观察数。如果仅指定了minbucket或minsplit中的一个,则代码会根据需要将minsplit设置为minbucket * 3或将minbucket设置为minsplit / 3。
将minbucket
设置为1是没有意义的,因为每个叶子节点(根据定义)将至少具有一个观察值。如果将其设置为较高的值(例如3),则意味着每个叶节点在该存储桶中至少具有3个观察值。minbucket
的值越小,您的CART模型将越精确。通过将minbucket
设置为太小的值(例如1),您可能会冒着过度拟合模型的风险。