我正在使用 xgboost 并具有 25 个级别的分类无序特征。因此,当我应用一种热编码时,我有 25 列。这引入了很多稀疏性。更不寻常的是,我的特征重要性报告显示前 10 名中有 5 个热门编码列,其中一个出现在顶部。
我试图查看我的二进制类 (1, 0) 之间这些类别的百分比是否存在差异,但没有,所以我有点困惑为什么它为它们分配如此高的特征重要性。
我在网上读到,如果我们有一个具有 q 级别的分类变量,则树必须从 ((2^q/2)-1) 拆分中进行选择。对于虚拟变量,只有一个可能的拆分,这会导致稀疏性
我不确定我是否理解这一点,假设我有一个名为 color: red, green, blue,yellow 的列,并且我实现了一个热编码,所以发生的分割数是 2^4/2 -1 = 3?如果这增加了,例如 2^25/2 -1,更多的分割意味着树更有可能为手头的数据找到一个“好的分割”并导致过度拟合?但我不明白的是,这种分裂是如何与虚拟变量进行的。这个等式是否适用于一个热内含变量。
我是否正确解释了这一点?
