论文部分内容阅读
缺损数据的处理是机器学习领域数据预处理中一个无法避免的问题。特别随着数据采集的方式由人工采集逐步转向机器自动采集,数据数量的急速增长使数据的质量严重下降,缺损的数据就是导致数据质量下降的重要原因。采集数据失败、传输中数据丢失、传感器设备故障等原因都造成数据库中大量的空值。在机器学习领域中知名度最高的UCI数据库中也有高达40%以上的数据集含有缺损数据。美国霍尼韦尔公司中用于设备维护和测试的数据库中超过50%的数据集含有缺损数据。在医药领域的情况更加严重,因为数据收集方法的不规范等原因,超过60%的数据集含有缺损数据。 缺损的数据不单表示信息的空缺,还会严重影响到后续的机器学习工作。直接删除缺损数据、取平均值等一些快速简单的方法由于无法估计缺损数据对机器学习结果的影响,导致数据的客观性可能有较大的受损,降低了机器学习的准确性。国内外许多学者提出了各种缺损数据补全的方法,在不同应用环境下都取得了很好的效果,但是依然存在一些不足的地方。比如,基于决策树的缺损数据补全需要指定条件属性和类属性,这种方法每处理一个属性都要重新对整个模型进行训练,这种方法处理随机缺损属性的数据效率比较低。其次,很多情况下数据都拥有很多属性,形成一个高维度的模型,很多缺损数据补全算法在高维度数据上处理能力不强,使补全的效果不佳。最后,很多算法没有考虑到数据集大小的问题,在数据集小的时候能取得很好的效果,但是无法满足当今数据量急剧增大的情况。为解决上述问题,本文给出了一个基于最近邻相似度与支持向量机的缺损数据补全算法。创新性地把支持向量机和基于最近邻相似度的思想运用到缺损数据补全领域。针对数据量大的情况,本文提出了基于Map-Reduce的MINNS-SVM分布式的实现。 从两方面验证算法的有效性:一方面在高维度缺损数据上,MINNS-SVM算法对比传统的K-means补全算法和基于贝叶斯概率补全算法,真值与补全后的值均方差减少了3%~18%,另一方面补全后数据分类的准确率平均提升15%;在数据量巨大情况下,分布式MINNS-SVM算法能有效解决数据量大的缺损数据补全问题。