[转]独热编码存在的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[转]独热编码存在的问题相关的知识,希望对你有一定的参考价值。

参考技术A

在以前读书的时候,机器学习中就提到对于离散的特征往往采用独热编码对特征进行预处理。但是从机器学习的角度来看,one-hot 编码并不是一种良好的分类变量编码方法。

离散特征编码主要存在的问题是,类别特征难以量化和比较。那么就可以采用 目标编码 的方式。将原本是类别的离散量变为预测目标在该离散量上的均值。
这种定义方式人为的展示了分类变量和目标变量之间的关系。
缺点也很明显:这种编码方法对目标变量 y非常敏感,这会影响模型提取编码信息的能力。如果Y中有异常值,那么目标编码会出现问题。

留一法(Leave-one-out)编码试图通过计算平均值(不包括当前行值)来弥补对 y 变量的依赖以及值的多样性。这使异常值的影响趋于平稳,并创建更多样化的编码值。
由于模型不仅要面对每个编码类的相同值,还要面对一个范围值,因此它可以更好地泛化。
实现类似效果的另一种策略是将正态分布的噪声添加到编码分数中,其中标准差是可以调整的参数。

贝叶斯目标编码(Bayesian Target Encoding)是一种使用目标作为编码方法的数学方法。仅使用均值可能是一种欺骗性度量标准,因此贝叶斯目标编码试图结合目标变量分布的其他统计度量。例如其方差或偏度(称为高阶矩「higher moments」)。

然后通过贝叶斯模型合并这些分布的属性,从而产生一种编码,该编码更清楚类别目标分布的各个方面,但是结果的可解释性比较差。

参考文章:
one-hot encoding 并非分类变量编码的唯一选择

独热编码可以pca吗

是的,独热编码可以用来降维,可以使用主成分分析(PCA)来实现。PCA可以帮助你在独热编码的维度上进行降维,从而减少模型的复杂度,并且能够捕捉数据的主要信息。 参考技术A 独热编码和PCA(主成分分析)是两种不同的数据处理方法,它们的目的和应用场景也不同。因此,一般情况下不会将独热编码应用于PCA中。
独热编码是一种将分类变量转换为数值变量的方法,它将每个分类变量转换为一个二进制向量,其中只有一个元素为1,其余元素为0。这种编码方法通常用于机器学习算法中,以便将分类变量用于数值计算。
PCA是一种用于降维的方法,它通过线性变换将高维数据映射到低维空间中,以便于可视化和分析。PCA通常用于处理数值型数据,以便减少数据的维度和复杂度。
虽然独热编码和PCA的应用场景不同,但在某些情况下,可以将它们结合使用。例如,在某些机器学习算法中,可以使用独热编码将分类变量转换为数值变量,然后使用PCA将数据降维,以便于模型训练和预测。但这种方法需要根据具体情况进行调整和优化,以确保数据处理的正确性和有效性。

以上是关于[转]独热编码存在的问题的主要内容,如果未能解决你的问题,请参考以下文章

独热编码(one-hot)是什么?什么数据类型需要进行独热编码?pandas如何进行独热编码(one-hot)?

OneHotEncoder独热编码和 LabelEncoder标签编码

独热码的介绍

特征归一化与独热编码

独热编码

独热编码OneHotEncoder简介