如何处理具有分类数据和许多唯一值的列

数据挖掘 机器学习 数据 分类数据 编码
2021-10-11 01:40:42

我有一列包含具有 nunique 3349 值的分类数据,在 18000k 行数据集中,代表世界城市。

我还有另一列包含 145 个唯一值,我也可以在我的模型中使用它们来表示产品类别。

我可以对这些列使用一种热编码还是该解决方案有问题?比如使用一种热编码的唯一值的最大数量是多少,所以不会有任何问题?

如果我也应该使用另一种编码,你能指出我正确的方向吗?

1个回答

对于分类列,您有两个选项:

  1. 实体嵌入
  2. 一个热向量

对于具有 145 个值的列,我会使用一种热编码和嵌入来处理 ~3k 值。此决定可能会根据功能的总数而改变。

嵌入将特征值映射到一维向量中,以便模型知道纽约、巴黎、伦敦在一个方面(大小)是相似的城市,而在其他方面则非常不同。因此,模型将不使用约 3k 列特征,而是使用约 50 列向量表示。

解释嵌入的文章: