如何使决策树在 R and/or Jupyter 中看起来不错?

how to make decision tree look nice in R and/or Jupyter?

我对 R 和一般的决策树还很陌生,如果这是一个愚蠢的问题,我很抱歉。

我正在尝试在 R 中制作决策树。它正在运行,但看起来不太好。它看起来很脏。我知道当我展开图像时它看起来更好,但它在 Jupyter 中看起来也不太好。

这是我的代码:

library(titanic)
library(party)
data("titanic_train")
surv_tree <- ctree(formula = as.factor(Survived) ~ as.factor(Pclass) + as.factor(Sex) + Age, data = titanic_train)
plot(surv_tree)

这是我的意思的图片:

https://imgur.com/a/UdPnE

我想使用 rpart,但它不太准确。它没有将 "Pclass" 视为分类变量,这很烦人且不准确。

最简单的解决方案是在更大的设备(例如 8x16 英寸)上绘制树:

准确地说,上面的图是用 png(file = "tree.png", height = 8, width = 16, units = "in", res = 150) 创建的。 (根据您用来动态创建图形的引擎,设置 height/width 可能就足够了。)

此外,如果您使用 ctree() 的新 partykit 实现而不是旧的 party 实现,则可以通过 plot(..., gp = gpar(fontsize = ...))) 调整字体大小。

最后,我将转换数据框中的因子而不是公式中的因子。然后树中的标签也看起来更好:

titanic_train <- transform(titanic_train,
  Survived = factor(Survived),
  Pclass = factor(Pclass),
  Sex = factor(Sex)
)
plot(ctree(Survived ~ Pclass + Sex + Age, data = titanic_train))