树和非树 (knn) 方法中的一个热编码目标变量

数据挖掘 scikit-学习 xgboost 多类分类 分类数据 一热编码
2022-03-12 02:20:38

我正在学习标签编码器,一种热编码等应用于通过 KNN 和 XGBoost 类型树进行分类的数据集。但是,对于目标变量是否应该是热编码的,我有点困惑。

就我而言,我有一个大小为 500x10 的数据框,最后一列是目标(用于预测)国家列,而其余 499 列包含浮点值。因此,一个示例行:

feature1 ..... fetaure499 target
1.1  ......... 40.1       Germany
6.1  ......... 265.7       USA
8.1  ......... 98,7      Singapore

在这种情况下,对目标进行编码的最佳方法是:[1] KNN [2] 基于树的方法。

我相对幼稚的理解是,一种热编码对特征空间很有用,而对于诸如此类的目标,即国家列表标签编码应该足够了。这个案例是真的吗?当必须对目标进行标签编码时,我是否需要注意任何情况?

谢谢你。

1个回答

答案取决于您使用的库。如果您使用的是 scikit - 您不需要对目标进行一次热编码。Scikit 会自动处理它。

如果您使用 keras 构建神经网络,您可能希望使用一种热编码标签,因为 keras 中的内置损失函数(例如分类交叉熵)期望标签是一种热编码。

因此,这两种方法都有效并且占用了您使用的库或工具的功能。