Machine learning 如何在机器学习中管理具有许多不同值(500)的分类变量?

Machine learning 如何在机器学习中管理具有许多不同值(500)的分类变量?,machine-learning,deep-learning,one-hot-encoding,dummy-variable,Machine Learning,Deep Learning,One Hot Encoding,Dummy Variable,假设我有一个数据集15列,它有2个类别列。这些列有许多不同的值,大约为200。如果我们应用onehot/dummy varibale,那么它将创建400列(用于上述两列)。这是处理问题的好方法还是有更好的方法。这个问题没有“一刀切”的答案。它取决于数据的类型和上下文、数据的域或业务需求以及许多其他因素。然而,这里有一些可以考虑的建议 对数据执行装箱。根据地理位置(国家的一部分)、人口规模、天气状况等,城市名称列表可以分成较少的类别。同样,这取决于业务环境。这将有助于减少类别的数量 对数据应用标签

假设我有一个数据集15列,它有2个类别列。这些列有许多不同的值,大约为200。如果我们应用onehot/dummy varibale,那么它将创建400列(用于上述两列)。这是处理问题的好方法还是有更好的方法。

这个问题没有“一刀切”的答案。它取决于数据的类型和上下文、数据的域或业务需求以及许多其他因素。然而,这里有一些可以考虑的建议

  • 对数据执行装箱。根据地理位置(国家的一部分)、人口规模、天气状况等,城市名称列表可以分成较少的类别。同样,这取决于业务环境。这将有助于减少类别的数量

  • 对数据应用标签编码。标签编码通常适用于基于树的算法,而不是一种热编码

  • 如果一个热编码是绝对必要的,那么应用它,特别是对于线性模型。如果以后需要减少特征的数量,PCA也可以用于相同的目的

  • 因此,总结一下——如果解决方案看起来不“明显”,那么尝试所有选项,看看哪一种效果最好


    此外,必须考虑测试数据中“新类别”的特殊情况,否则模型将在生产中失败。

    感谢您的建议。这是一条非常有趣的评论,关于标签编码对基于树的模型有更好的效果。你能详细说明一下吗?你有没有找到任何推荐人?