将连续变量转换为离散(分类)变量是否会提高基于树的模型的准确性?

数据挖掘 决策树 分类数据
2022-02-22 10:43:39

我已经阅读了有关是否应将连续特征转换为分类特征的其他问题。但我对基于树的分类器感兴趣,例如决策树、随机森林、梯度提升等。

我的直觉是,由于基于树的分类器试图在每个节点上找到最佳分割或最佳测试,因此提供分类特征将使分割比提供连续特征更准确。

我的问题是,在基于树的模型或相反的情况下,对数据进行上述预处理会导致高精度吗?还是取决于数据?

1个回答

我实际上同意现在已删除的答案:您不太可能看到改进(至少具有任何一致性)。

正如您所指出的,对连续变量进行分箱只会减少树模型的允许分割点。这降低了整个模型的容量。这可能是有益的,也可能是有害的,取决于它如何影响偏差-方差权衡:我希望它对完全成熟的单一决策树有很大帮助,但在调整良好的树集合中可能会受到一点伤害。

sklearn 文档中有两个很好的示例说明了他们的分箱预处理器:
https://scikit-learn.org/stable/auto_examples/preprocessing/plot_discretization.html
https://scikit-learn.org/stable/auto_examples/preprocessing/plot_discretization_classification .html

将第二个扩展到 (1) 还包括一个完整的决策树和 (2) 添加 binning-then-nonlinear-models 产生以下结果:
显示三个数据集上的分类器的图,有和没有分箱

至少在这些简单的例子中,我上面的建议是成立的。