使用类别和使用虚拟变量时随机森林性能差异的解释

数据挖掘 分类 特征选择 随机森林 决策树 特征工程
2022-02-25 02:23:07

我有一些手工编码的特征,它是一个具有“高”、“低”和“正常”值的类别。

我自己创建了这个功能,当使用它并通过虚拟变量扩展这些功能时,我的问题性能(分类)显着提高。

现在因为我正在尝试随机森林,所以我想我将“高、低、正常”改为 1、-1、0。

现在同样的模型根本不学习。

我认为实际上它应该更容易分裂。这与我将正常设置为0有关吗?

感谢您的任何解释帮助我理解这一点。

1个回答

它应该起作用:变量是序数,因此使用数值是有意义的。

所以某处有一个错误,这里有一些建议:

  • 可能某处出现类型转换错误:确保变量被解释为数字。
  • 检查模型是否真的使用了变量:如果没有,那么很可能是一些类型错误;如果是,那么我会调查出了什么问题:例如,在变量是分类或数字的两种情况下,绘制这个变量与目标的关系可能会有所帮助。
  • 训练集和测试集的预处理可能有一些区别:将模型应用到训练集上,如果性能好那么很可能是测试集的预处理有问题。