我有一个分类变量,即国家,它采用印度、美国、巴基斯坦等值。我目前正在使用线性 SLM 进行分类任务。
所以我的国家价值从 1 到 20 不等。这应该如何成为分类任务中的一个特征。我应该为我们提供一个像 (1,0,0..) 这样的热向量并为该向量分配 20 个权重,还是应该从 1_20 获得整数并分配一个权重?我正在使用 scikit 学习。答案是否取决于分类器?
我有一个分类变量,即国家,它采用印度、美国、巴基斯坦等值。我目前正在使用线性 SLM 进行分类任务。
所以我的国家价值从 1 到 20 不等。这应该如何成为分类任务中的一个特征。我应该为我们提供一个像 (1,0,0..) 这样的热向量并为该向量分配 20 个权重,还是应该从 1_20 获得整数并分配一个权重?我正在使用 scikit 学习。答案是否取决于分类器?
答案较少取决于分类器,而更多地取决于变量的性质。在您的情况下,One Hot Encoding 可能是最好的答案。
标签编码(用整数替换分类变量)在变量是序数时很有用,即它具有顺序感。例如一周中的几天或一年中的几个月。由于它们遵循固定顺序,因此您可以将一月编码为 1,二月编码为 2,依此类推。分类器会以某种方式将二月解释为大于一月(这对于天气预报等任务是可以的)。
你的国家可以被认为是有序的吗?如果没有,请对它们进行热编码。
为所有可用的国家/地区制作标签。您的 Y(预测)值将是长度 = 没有国家的向量。只有一个标签并改变其值会影响准确性,因为它不是线性回归问题,您需要类标签而不是值。国家 1 - 国家 2 != 国家 3 - 国家 4
另一种可能性是按目标变量的比率为您的国家变量排序。
例如。在二进制分类问题 (0-1) 的情况下,您可以按多数类别的比率对您的国家/地区进行排序,然后分配从 1 到 20 的数字。此编码允许您使用此变量进行逻辑运算。