数据预处理(ETL/清洗、集成)往往占据70%左右的时间精力,非危言耸听,亲历!
参考/转载自:http://blog.csdn.net/zrjdds/article/details/50223091
【缺失值】
原因:人为原因(遗漏、)+机器原因(故障、性能差无获取能力、)+业务原因(门槛高本身就难获取)
类型:缺失分布角度看,完全随机缺失/随机缺失/完全非随机缺失;缺失属性看,若所有缺失值都属于同一属性,则为单值缺失,若不同属性,则任意缺失;时间序列看,随着时间的缺失成为单调缺失
解决:
1.删除:没用的/不重要的/微量的不影响大局的,可考虑删除
2.补齐:
2.1人工填充:数据量少时候,可考虑预估个
2.2特殊值填充:比如“unkonwn”"9999999999""---"等
2.3平均值填充
2.4热卡补充/就近补齐:在完整数据中找到一个与它最相似的对象进行补充
2.5K-means:没用过,有机会可试试
2.6回归
2.8期望值最大化方法(Expectation maximization,EM)
2.9多重填补(Multiple Imputation,MI)
2.10C4.5
3.不处理:直接在包含空值的数据上进行数据挖掘。这类方法包括贝叶斯网络和人工神经网络等。