做者:无影随想
时间:2016年1月。
出处:https://zhaokv.com/machine_learning/2016/01/missing-values.html
声明:版权全部,转载请注明出处html
现实世界中的数据每每很是杂乱,未经处理的原始数据中某些属性数据缺失是常常出现的状况。另外,在作特征工程时常常会有些样本的某些特征没法求出。路漫漫其修远兮,数据仍是要继续挖的,本文介绍几种处理数据中缺失值的主要方法。性能
最简单的方法是删除,删除属性或者删除样本。若是大部分样本该属性都缺失,这个属性能提供的信息有限,能够选择放弃使用该维属性;若是一个样本大部分属性缺失,能够选择放弃该样本。虽然这种方法简单,但只适用于数据集中缺失较少的状况。学习
对于缺失值的属性,尤为是数值类型的属性,根据全部样本关于这维属性的统计值对其进行填充,如使用平均数、中位数、众数、最大值、最小值等,具体选择哪一种统计值须要具体问题具体分析。另外,若是有可用类别信息,还能够进行类内统计,好比身高,男性和女性的统计填充应该是不一样的。htm
对于含缺失值的属性,把全部缺失值统一填充为自定义值,如何选择自定义值也须要具体问题具体分析。固然,若是有可用类别信息,也能够为不一样类别分别进行统一填充。经常使用的统一填充值有:“空”、“0”、“正无穷”、“负无穷”等。it
咱们能够经过预测模型利用不存在缺失值的属性来预测缺失值,也就是先用预测模型把数据填充后再作进一步的工做,如统计、学习等。虽然这种方法比较复杂,可是最后获得的结果比较好。class
上面两次提到具体问题具体分析,为何要具体问题具体分析呢?由于属性缺失有时并不意味着数据缺失,缺失自己是包含信息的,因此须要根据不一样应用场景下缺失值可能包含的信息进行合理填充。下面经过一些例子来讲明如何具体问题具体分析,仁者见仁智者见智,仅供参考:方法