【发布时间】:2017-03-11 19:48:38
【问题描述】:
我正在尝试使用 rpart 来构建分类树模型。 测试数据框非常简单,仅包含 10 行中的两个布尔变量。 隐藏的逻辑也很简单:当 x 为 FALSE 时,y 必须为 FALSE。当 x 为 TRUE 时,y 有 60% 的机会为 TRUE。 所以我想 rpart 会在 x 上进行一次拆分以提高节点纯度。但它停留在根节点,根本不分裂。有人请教吗?
> df <- data.frame(x=rep(c(FALSE,TRUE), each=5), y=c(rep(FALSE,7), rep(TRUE,3)))
> df
x y
1 FALSE FALSE
2 FALSE FALSE
3 FALSE FALSE
4 FALSE FALSE
5 FALSE FALSE
6 TRUE FALSE
7 TRUE FALSE
8 TRUE TRUE
9 TRUE TRUE
10 TRUE TRUE
> rpart(y~x, method='class', data=df)
n= 10
node), split, n, loss, yval, (yprob)
* denotes terminal node
1) root 10 3 FALSE (0.7000000 0.3000000) *
【问题讨论】:
-
N = 10?那就是修剪! Rpart 正在避免过度拟合。