在推荐系统和机器学习中,我们通常会遇到两种类型的编码方式:One-hot 编码和 Multiple-hot 编码(有时也称为 Multi-hot 编码)。这两种编码方式用于将分类数据转换为数值表示,以便机器学习模型能够处理这些数据。
1、One-hot编码
将类别、ID 型特征转换成数值向量的一种最典型的编码方式。它通过把所有其他维度置为 0,单独将当前类别或者 ID 对应的维度置为 1 的方式生成特征向量。
可以使用Spark将id等类别型特征转化成One-hot编码。
2 Multiple-hot编码
Multiple-hot编码特征将多个属性同时编码到一个特征中。在推荐场景中,单个用户对哪些物品感兴趣的特征就是一种Multiple-hot编码特征。Multiple-hot编码采用类似oneHot编码的形式进行编码,根据物品种类数目,展成物品种类数目大小的向量,当某个用户感兴趣时,对应维度为1,反之为0,如下。