美文网首页
[转]独热编码存在的问题

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

作者: 欠我的都给我吐出来 | 来源:发表于2021-11-04 16:26 被阅读0次

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

  1. one-hot 编码却增加了大量的维度,且这些特征维度是稀疏的,有用的信息零散地分布在大量数据中。比如一个20类的离散特征,通过独热编码之后,产生20列特征,但是这些特征中95%都是0;这种稀疏的特征对于神经网络来说很难优化。
  2. 每个信息稀疏列之间都具有线性关系。比如20列特征之和为1。这意味着一个变量可以很容易地使用其他变量进行预测,导致高维度中出现并行性和多重共线性的问题。

其他可选的编码方式

目标编码

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

留一法编码

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

贝叶斯目标编码

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

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

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

相关文章

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

    在以前读书的时候,机器学习中就提到对于离散的特征往往采用独热编码对特征进行预处理。但是从机器学习的角度来看,one...

  • 转(独热编码)

    在机器学习算法中,常会遇到分类特征是离散的,无序的。例如:性别有男、女,城市有北京,上海,深圳等。 性别特征: [...

  • 词嵌入(word embedding)简记

    句子的常用表示方法有:独热编码(One-Hot)和词嵌入。独热编码存在的问题有:1、词矩阵稀疏,每个向量只有一个值...

  • 机器学习笔记:

    OneHotEncoder独热编码和 LabelEncoder标签编码 转自https://www.cnblogs...

  • (转)数据挖掘OneHotEncoder独热编码和LabelEn

    学习sklearn和kagggle时遇到的问题,什么是独热编码?为什么要用独热编码?什么情况下可以用独热编码?以及...

  • tf.one_hot()用法 独热编码

    tf.one_hot()进行独热编码 首先肯定需要解释下什么叫做独热编码(one-hot encoding),独热...

  • 独热编码

    关于独热编码的实现一. scikit-learn库 二. scikit-learn库 三. 使用pandas的ge...

  • 通俗理解word2vec

    独热编码 独热编码即 One-Hot 编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个...

  • 07 使用特征预处理提升房价预测模型的性能

    类别较多的时候,独热编码性能不好,可能会造成类数的爆炸,可以预先进行粗分,再接着往下分类。独热编码的矩阵是稀疏矩阵...

  • tensorflow

    1.tf.one_hot() 热独编码。在分类问题中应用,我们可以把每一个类进行编码生成一个对应的矩阵,表示哪一类...

网友评论

      本文标题:[转]独热编码存在的问题

      本文链接:https://www.haomeiwen.com/subject/zldkzltx.html