data-science - 标称、序数、二进制与数值变量数据集的缩放
问题描述
如果数据集以字符形式给出,即分类,那么我们需要使用一种热编码将它们转换为数字数据吗?
我的第二个问题是,一种热编码仅对 Nominal 数据类型有意义,还是对 Nominal 和 Ordinal 数据类型都有意义?
解决方案
在将分类变量提交给模型之前,确实需要将其转换为数值形式(尽管某些模型实现会自动执行此操作)。一种热编码是一种方法,但是您可以选择更多的“编码器”(序数编码、二进制编码、散列编码,...),它们都适合不同的情况。
对于第二个问题,您的数据是 Nominal 还是 Ordinal 并不重要,唯一真正重要的是您的数据是 Categorical。
也就是说,如果您的数据是有序的,模型会接受它。但是在某些情况下,序数可能会很糟糕,因为它会在您的类别之间引入“距离概念”。例如,如果您有这种交通工具的编码:
- 1 -> 汽车
- 2 -> 巴士
- 3 -> 地铁
- 4 -> 自行车
该模型会理解,bike 离地铁比离汽车更近,这是您可能不想提供给模型的信息。One hot Encoding 通过将每个类别彼此保持相同距离来解决这个问题。
推荐阅读
- python - 如何使用 Selenium 在下拉列表中选择自动建议地址
- networking - 我需要一个简单的公式来计算 IEEE 802.15.6 中的冲突概率
- javascript - 如何使用 iframe 在提交按钮上实现跟踪像素
- python - 如何对大型 JSON 文件进行基于数学的批量更改?
- java - Payara Glassfish 服务器部署:列出目录时出错
- visual-studio-code - 如何将 XQuery 代码发送到配置为使用本地文件作为其模块 DB 的特定 MarkLogic App 服务器上的 eval?
- flutter - Flutter Dio 多部分图像,无法读取未定义的属性“0”
- julia - 无法评估 Julia 中的简单表达式
- cassandra - 如何使用 Dbeaver 社区版连接到 Cassandra?
- flutter - Flutter:自定义焦点输入文本边框颜色