缺失值的处理方法
- 在数据的生成、采集、传输、存储等过程中不可避免产生缺失数据,有人为失误和非人为的
- 数据中形式为空、NaN、null、-999等这种没有实际业务含义的字符
为什么要处理缺失值
- 很多算法不支持空值输入,因此在训练之前需要填充空值
- 空值的地方丢失了大量的有用信息,直接降低数据质量,低质量数据导致模型效果无法满足目标
- 数据中所表现出的不确定性更加显著,蕴涵的确定性成分更难把握,使挖掘过程陷入混乱,导致不可靠的输出
- 利用缺失值填充技术,可以一定程度复原真实数据,提供价值信息,使模型效果得到提升
可以把空值分成以下三类
- 不存在型空值。即无法填入的值,或称对象在该属性上无法取值,如一个未婚者的配偶姓名等
- 存在型空值。即对象在该属性上取值是存在的,但暂时无法知道。一旦对象在该属性上的实际值被确知以后,人们就可以用相应的实际值来取代原来的空值,使信息趋于完全。存在型空值是不确定性的一种表征,该类空值的实际值在当前是未知的。但它有确定性的一面,诸如它的实际值确实存在,总是落在一个人们可以确定的区间内。一般情况下,空值是指存在型空值
- 占位型空值。即无法确定是不存在型空值还是存在型空值,这要随着时间的推移才能够清楚,是最不确定的一类。这种空值除填充空位外,并不代表任何其他信息
处理方法
删除法
- 删除有缺失记录的样本或者属性。现实应用方式如删除缺失率超过90%的特征,属性全为空的样本。<