最近遇到了这个问题,这里想到了几种方法。

 

第一种,用均值、中位数、众数等数值补充。如果数据近似于normal distribution,可以用mean来代替,如果数据是skewed distribution的,则用median来替代。不过,这相当于是人为给数据增加了噪音,最终的效果是正向还是负向也不得而知。

第二种,空缺值用0、-99999,+99999之类特别的数值来表示,或是当做新的一维dummy code。如果这个维度的特征是categorical的,这样做也没有问题,相当于特征值缺失的样本在这个维度上的特征都属于新的一类;如果这个维度的特征是numerical的,那么就会有麻烦了。

第三种,直接抛弃这个维度的特征。这是属于土豪的做法,当样本和特征足够多的时候可以尝试这样做,但是样本和特征维度很少的时候,怎么玩得转。。。

第四种,可以根据不缺失的那部分特征值和其它维度特征的关系,推测出缺失的那部分特征值。这里我担心的一个问题,就是推测出来的那部分特征值,很可能和其余维度的特征高度相关,这样的话这个维度的特征贡献就不大了;若是它与其它维度的相关性较小,那预测出来的缺失值又不准确。这是一个trade-off吧。

 

相关文章:

  • 2021-12-10
  • 2021-09-01
  • 2021-05-08
  • 2021-11-30
  • 2021-12-23
  • 2021-11-30
  • 2021-11-30
  • 2021-10-15
猜你喜欢
  • 2022-12-23
  • 2021-06-16
  • 2021-11-13
  • 2021-11-30
  • 2021-08-23
  • 2021-09-16
相关资源
相似解决方案