为什么决策树/rpart 更喜欢选择连续变量而不是分类变量?

机器算法验证 分类数据 大车 rpart
2022-03-18 18:08:00

我用 10 个连续变量和 3 个分类变量(有 1 或 0 个选项)运行了一些决策树,树rpart的结果是 3 个分类变量中没有一个用于构建树。您是否知道将来自连续变量和分类变量的数据组合到决策树中是否存在缺陷?

1个回答

是的,经典的决策树算法——例如,CART(在 中实现rpart)或 C4.5——偏向于具有许多可能分裂的变量。原因是他们对所有可能变量中的所有可能拆分进行了详尽的搜索,而没有考虑在搜索更多拆分时通过“机会”找到更大的改进。这是由 Loh 及其同事开创的基于统计推断的各种决策树算法解决的:

  • Loh WY, Shih YS (1997)。“分类树的拆分选择方法”。中央统计局7,815-840
  • 罗怀 (2002)。“具有无偏变量选择和交互检测的回归树。” 统计12,361-386
  • Hothorn T、Hornik K、Zeileis A(2006 年)。“无偏递归分区:条件推理框架。” 计算和图形统计杂志15 (3), 651-674。

在 R 中,partykit包(包的继承者party)实现了几个无偏决策树算法。具体来说,ctree()(Hothorn et al. 2006)应该很容易为您尝试作为rpart.

话虽如此:当然,即使使用无偏决策树算法,也有可能没有分类变量出现在树中,因为它们不相关(或者在调整连续变量后不相关,如@gung 建议的那样) .