使用 R 了解 CART 模型中的 minbucket 函数
Understanding of minbucket function in CART model using R
假设训练数据是 "fruit",我将使用它在 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
the minimum number of observations in any terminal node. If onlyone of minbucket or minsplit is specified, the code either sets minsplit tominbucket*3 or minbucket to minsplit/3, as appropriate.
将 minbucket
设置为 1 是没有意义的,因为每个叶节点(根据定义)至少有一个观察值。如果将其设置为更高的值,比如 3,则意味着每个叶节点在该桶中至少有 3 个观测值。
minbucket
的值越小,您的CART模型就越精确。通过将 minbucket
设置为太小的值,例如 1,您可能 运行 存在过度拟合模型的风险。
假设训练数据是 "fruit",我将使用它在 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
the minimum number of observations in any terminal node. If onlyone of minbucket or minsplit is specified, the code either sets minsplit tominbucket*3 or minbucket to minsplit/3, as appropriate.
将 minbucket
设置为 1 是没有意义的,因为每个叶节点(根据定义)至少有一个观察值。如果将其设置为更高的值,比如 3,则意味着每个叶节点在该桶中至少有 3 个观测值。
minbucket
的值越小,您的CART模型就越精确。通过将 minbucket
设置为太小的值,例如 1,您可能 运行 存在过度拟合模型的风险。