ctree 显示 3 个目标值且没有标签(来自 2 个值目标因子)

ctree is showing 3 target values and no label (from 2 values target factor)

非常简单的数据框:

     TYPE USERS  VISITS SIZE
1   no       3     5 118266
2   no       3     5 118548
3   yes      1     0 274558
4   no       3    10  86078
5   yes      3     4 355091
7   yes      18     0  29915
8   yes      6     0 278590
9   yes      5     0 477850
10  yes      1     2  67751
11  yes      4     9 309361

获取 TYPE 变量的 ctree 分类时:

plot(ctree(TYPE ~ ., data = df))

好像出现了3个标签,但不能确定,因为标签没有写在情节下方的末尾。

如果我只有两个(是,不是),为什么会有 3 个结束状态? 为什么标签不存在?

正如@DavidArenburg 已经指出的那样,您用于种植树的数据 df 几乎肯定有一个具有三个级别的 TYPE 变量,尽管其中只有两个实际出现在观察到的数据中。请参阅下文,了解基于您提供的 print-out 的可重现示例。

关于绘图中看不到级别的问题:原因是您使用的绘图window对于默认字体大小来说太小了。因此,未显示重叠标签。最简单的解决方案是简单地增加绘图的大小 window。或者,您可以减小字体大小。请参阅下面的示例。

读取数据:

df <- read.table(textConnection("     TYPE USERS  VISITS SIZE
1   no       3     5 118266
2   no       3     5 118548
3   yes      1     0 274558
4   no       3    10  86078
5   yes      3     4 355091
7   yes      18     0  29915
8   yes      6     0 278590
9   yes      5     0 477850
10  yes      1     2  67751
11  yes      4     9 309361
"))

然后生长并可视化树:

library("partykit")
ct <- ctree(TYPE ~ ., data = df)
plot(ct)

如您所见,ctree 二进制 响应显示在使用堆积条的位置。要获得并排绘制的条形图,您需要相应地修改终端面板函数的参数:

plot(ct, tp_args = list(beside = TRUE))

最后,要更改标签的大小,可以更改 grid 图形参数。 (请注意,这需要 partykit 而不是 ctree()party 实现。)

plot(ct, tp_args = list(beside = TRUE), gp = gpar(fontsize = 33))