One hot编码维度过高解决方法

  1. 根据类别特征的意义进行合并(分桶)
  2. 将类别按频次排序,频次特别低的一部分合并
  3. 特征哈希
  4. PCA降维
  5. 按照该特征对应目标值进行合并
  6. 使用每个分类对应目标变量均值+偏差,或出现频数代替
    -如果测试集中存在训练集没有的样本,需要考虑补缺策略?

不把自身的label算进去(leave-me-out, leave-one-out)统计, 防止信息泄露

  1. 考虑平均数编码(高基数类别特征)
  2. Embedding

将离散型特征进行one-hot编码的作用,是为了让距离计算更合理,但如果特征是离散的,并且不用one-hot编码就可以很合理的计算出距离,那么就没必要进行one-hot编码。 有些基于树的算法在处理变量时,并不是基于向量空间度量,数值只是个类别符号,即没有偏序关系,所以不用进行独热编码。 Tree Model不太需要one-hot编码: 对于决策树来说,one-hot的本质是增加树的深度。

LR是适合使用ID类特征的,原因在于LR适合接受超高维度的特征输入。

OneHotEncoder独热编码和 LabelEncoder标签编码
分类变量,进行One hot编码,维度升高,如何处理?
hashing trick或者feature hashing是什么
类别型特征的处理方法与平均数编码
How to deal with Features having high cardinality
机器学习中如何利用id类特征?
https://www.zhihu.com/question/266195966

你可能感兴趣的:(One hot编码维度过高解决方法)