首页 > 解决方案 > One-Hot 编码或不 One-Hot 编码

问题描述

我的数据集有星期几(周一 = 1,周二 = 2,周三 = 3 ...)

我的数据看起来像这样

WeekDay Col1 Col2 Target
1       2.2  8    126
6       3.5  4    354
1       8.0  2    322
3       7.2  4    465
7       3.2  5    404
6       3.8  3    134
1       3.6  5    455
1       5.5  8    345
6       7.0  6    442

我应该对 WeekDay 进行一次热编码,使其看起来像这样吗?

WeekDay Col1 Col2 Target  Mo Tu We Th Fr Sa Su
1       2.2  8    126     1  0  0  0  0  0  0
6       3.5  4    354     0  0  0  0  0  1  0
1       8.0  2    322     1  0  0  0  0  0  0
3       7.2  4    465     0  0  1  0  0  0  0
7       3.2  5    404     0  0  0  0  0  0  1
6       3.8  3    134     0  0  0  0  0  1  0
1       3.6  5    455     1  0  0  0  0  0  0
1       5.5  8    345     1  0  0  0  0  0  0
6       7.0  6    442     0  0  0  0  0  1  0

我将使用随机森林

标签: data-sciencefeature-extraction

解决方案


您不应该使用一种热编码,因为您使用的是随机森林模型。RF 模型也能够从标签编码中找到模式,并且通常 RF 模型在使用热编码时表现更差,因为它们可能会在创建树时决定丢失几天。此外,一种热编码会在您的数据中引入维度灾难,这从来都不是好事。

在线性回归或逻辑回归等方法的情况下,一种热编码更好,其中 1 即星期一可能比 6 即星期六更重要,因为这些模型在后端有一个乘法模型。


推荐阅读