Skip to content

Latest commit

 

History

History
34 lines (27 loc) · 1.61 KB

缺失值处理.md

File metadata and controls

34 lines (27 loc) · 1.61 KB

是不是一定需要对缺失值处理?

当缺失值占比在可接受的范围以内的时候才需要进行填充,如果缺失值大于50%以上的时候,可以选择进行二分化,如果缺失值大于80%可以完整删除该列而不是强行去填充

直接填充方法有哪些?

  • 均值
  • 中位数
  • 众数
  • 分位数

模型插值方法有哪些?及方法的问题

  • 有效性存疑,取决于特征列数
    • 生成的插值来源于其他列的特征,是不是意味着插值的结果已经是和其他列的组合高相关

如何直接离散化?

  • 离散特征新增缺失的category

hold位填充方法有哪些?

把全部结果都embedding化,对空值或者缺失值按照一定规则生成若干个hold位,以hold位的向量结果作为缺失值的结果 - 可以参考YouTube中的新商品向量生成逻辑 - bert中的[UNK]向量,[unused]向量

怎么理解分布补全?

如果我们能在原始数据上发现明显规律,比如整体数据满足高维多元高斯分布,则可以通过未知列补全缺失列的值

random方法

在缺失量特别少(通常认为小于1%)的时候,可以随机生成

总结

  • 实际机器学习工程中,直接删除、众数填充和直接离散化方法用的最多
    • 快速
    • 对原始数据的前提假设最少,也不会影响到非缺失列
  • 在深度学习中,hold位填充方法用的最多
    • 在大量数据的拟合条件下,能保证这些未知数据处的向量也能得到收敛
    • 而且通过随机构造的特性,保证了缺失处的[UNK]向量,[unused]向量的通配性