onehotencoder 随机森林

数据挖掘 随机森林 一热编码 虚拟变量
2022-03-07 07:53:58

在随机森林上下文中,我是否需要在特征/变量是数字但引用某种类别的数据集中设置假人/OnehotEncoder?

假设我有以下变量:

在此处输入图像描述

Y我要预测的变量在哪里。X's是特征。

我会专注于X1它的数字但指的是一个特定的类别(即1指数学,2指文学,3指历史)。我是否需要为随机森林算法应用 OnehotEncoder(或虚拟方法)?

我想我不需要这样做,但我不确定。

1个回答

理论上,类别本身可以在决策树中处理。但是,大多数 python 实现只适用于数字,因此您需要转换它们。看起来你已经有了。OneHot Encoding 是执行此操作的一种方法,但既然您已经这样做了,那就没有必要了。如果没有合乎逻辑的理由以这种方式拥有它们,您可以尝试其他方案将它们变成 1 2 3。这称为分类编码。一种流行的方法是按字母顺序排列它们并编号。另一种方式,按它们的频率顺序。归根结底,这并不重要,因为随机森林会根据其算法对数字进行分类。虽然它可能会产生微小的差异,所以也许尝试不同的方式。但是不,您不需要 OneHot 编码您的类别,因为它们已经是数字。