假设训练数据是“水果”,我将使用它来预测在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),您可能会冒着过度拟合模型的风险。

08-20 00:43