机器学习中如何处理缺失数据

发布时间:2015-12-16  栏目:机器翻译  评论:0 Comments

做监督学习算法,训练数据集中的部分数据缺失,怎么预处理这些数据能够使得训练的结果不受影响,或是影响最小?

 

目前有三类处理方法:

1. 用平均值、中值、分位数、众数、随机值等替代。效果一般,因为等于人为增加了噪声。

2. 用其他变量做预测模型来算出缺失变量。效果比方法1略好。有一个根本缺陷,如果其他变量和缺失变量无关,则预测的结果无意义。如果预测结果相当准确,则又说明这个变量是没必要加入建模的。一般情况下,介于两者之间。

3. 最精确的做法,把变量映射到高维空间。比如性别,有男、女、缺失三种情况,则映射成3个变量:是否男、是否女、是否缺失。连续型变量也可以这样处理。比如Google、百度的CTR预估模型,预处理时会把所有变量都这样处理,达到几亿维。这样做的好处是完整保留了原始数据的全部信息、不用考虑缺失值、不用考虑线性不可分之类的问题。缺点是计算量大大提升。 而且只有在样本量非常大的时候效果才好,否则会因为过于稀疏,效果很差。

 

还有个笨方法,每种方法试一下(考虑到方法2费时费力,效果尴尬,选择方法1和方法3就好了),最后选择predict效果好的那种数据预处理方法

留下评论

You must be logged in to post a comment.

相册集

pix pix pix pix pix pix

关于自己

杨文龙,微软Principal Engineering Manager, 曾在各家公司担任影像技术资深总监、数据科学团队资深经理、ADAS算法总监、资深深度学习工程师等职位,热爱创新发明,专注于人工智能、深度学习、图像处理、机器学习、算法、自然语言处理及软件等领域,目前发明有国际专利19篇,中国专利28篇。

联系我

个人技术笔记

welonshen@gmail.com

2015 in Shanghai