Answers:
您可以dummyVars
从caret
包中在R 中使用。它将根据级别数自动创建不同的列。之后,您可以使用cbind
它并将其附加到原始数据。其他选项包括model.matrix
和sparse.model.matrix
。
程国,Felix Berkhahn的“分类变量的实体嵌入”
我们将函数逼近问题中的分类变量映射到欧几里得空间中,这是分类变量的实体嵌入。在标准的监督训练过程中,神经网络学习了映射。与一次性编码相比,实体嵌入不仅减少了内存使用并加快了神经网络的速度,而且更重要的是,通过在嵌入空间中映射彼此接近的相似值,它揭示了分类变量的内在属性。我们在最近的Kaggle竞赛中成功应用了该软件,并以相对简单的功能将其排名第三。我们在本文中进一步证明,当数据稀疏且统计信息未知时,实体嵌入可以帮助神经网络更好地泛化。因此,它对于具有许多高基数特征的数据集特别有用,而其他方法往往会过度拟合。我们还证明,从训练有素的神经网络获得的嵌入在用作输入功能时,可大大提高所有经过测试的机器学习方法的性能。当实体嵌入为分类变量定义距离度量时,它可用于可视化分类数据和数据聚类。