在基于树的模型中使用分箱数据的最佳方法是什么?

数据挖掘 随机森林 特征提取 分类数据 决策树
2021-09-28 11:22:48

我有一些“分箱”的数字数据,但分箱在比例或分位数方面的大小不相等

例如,年龄变量为 [0-16), [16-21), [21-30), [30-45), [45-65), [65, ]

如果我将其保留为分类变量,则树将分别处理每个类别并折扣因子之间的有序关系。

如果我将其更改为序数变量,例如 [0, 1, 2, 3, 4, 5] 并保留一组标签以供以后报告,则树可能会分裂,例如 <2.5,这对我来说似乎更自然,但是无论如何,1 和 2 之间的距离与 2 和 3 之间的距离不同。

我倾向于第二种解决方案,但我会喜欢一些输入!

3个回答

对于完整的决策树,您提出的任何一个模型都可以表示相同的概念集,因为决策树可以分解为连词的析取。我不认为垃圾箱具有不同大小的事实真的是一个问题,因为将任何意义放在发生在垃圾箱“内部”的分裂的确切位置上可能不是一个好主意。从性能的角度来看,最重要的可能是数据的分布方式(即,您的概念是在一对相邻的 bin 之间拆分数据还是更复杂)。

由于您有与您的问题相关的“随机森林”标签,我倾向于同意您的观点,即保持它们有序可能会更好,因为如果您生成许多树,有序表示可能会导致更简洁/更小的树.

除了使用随机森林分类器,您还可以使用随机 forrest 回归分析。使用 bin 的平均值作为值(这将考虑到您建议的相对值)。这还有一个额外的好处,即如果您获得具有实际年龄的数据集,则无需更改训练,并且您将习惯于将分析提供的分数(年龄)转换到您的 bin 中。

您还可以尝试用证据权重值替换垃圾箱,并将其用作您的训练集。如果您使用的是 R,请参阅软件包woe (也可以使用smbinningwoeBinning,但根据我的经验,不要捕捉非线性)。