首页 > 解决方案 > 标称、序数、二进制与数值变量数据集的缩放

问题描述

如果数据集以字符形式给出,即分类,那么我们需要使用一种热编码将它们转换为数字数据吗?

我的第二个问题是,一种热编码仅对 Nominal 数据类型有意义,还是对 Nominal 和 Ordinal 数据类型都有意义?

标签: data-scienceone-hot-encodingdata-science-experience

解决方案


在将分类变量提交给模型之前,确实需要将其转换为数值形式(尽管某些模型实现会自动执行此操作)。一种热编码是一种方法,但是您可以选择更多的“编码器”(序数编码、二进制编码、散列编码,...),它们都适合不同的情况。

对于第二个问题,您的数据是 Nominal 还是 Ordinal 并不重要,唯一真正重要的是您的数据是 Categorical。

也就是说,如果您的数据是有序的,模型会接受它。但是在某些情况下,序数可能会很糟糕,因为它会在您的类别之间引入“距离概念”。例如,如果您有这种交通工具的编码:

  • 1 -> 汽车
  • 2 -> 巴士
  • 3 -> 地铁
  • 4 -> 自行车

该模型会理解,bike 离地铁比离汽车更近,这是您可能不想提供给模型的信息。One hot Encoding 通过将每个类别彼此保持相同距离来解决这个问题。


推荐阅读