使用R了解CART模型中的minbucket功能

GBO*_*BOT 5 r decision-tree rpart

假设训练数据是"果实",我将使用它来预测使用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)
Run Code Online (Sandbox Code Playgroud)

minbucket如果我们要使用minbucket= 2,3,4,5,那么有人可以解释在这个例子中绘制CART树的确切作用吗?

看我有2个变量color&isApple.颜色变量有绿色,黄色,粉红色,橙色和红色.Apple变量的值为TRUE或FALSE.在最后一个例子中,RED有三个TRUE和2个FALSE映射.红色值出现五次.如果我给minbucket = 1,2,3那么它就是分裂.如果我给minbucket = 4或5,那么虽然红色出现五次但没有发生分裂.

Tim*_*sen 5

rpart包的文档:

minbucket

任何终端节点中的最小观测数.如果只指定了一个minbucket或minsplit,代码可以根据需要将minsplit tominbucket*3或minbucket设置为minsplit/3.

设置minbucket为1是没有意义的,因为每个叶节点(根据定义)将对其进行至少一次观察.如果将其设置为更高的值(例如3),则意味着每个叶节点在该存储桶中至少有3个观察值.

值越小minbucket,您的CART模型就越精确.通过设置minbucket太小的值(例如1),您可能会面临过度拟合模型的风险.