KDD全过程利用缺失数据的方法 by张师超

挑战问题

数据缺失在机器学习人工智能领域十分常见,如何处理缺失数据是要考虑的问题。

数据缺失的几种形式:

  • 完全随机缺失(满足统计规律,容易填充)
  • 随机缺失
  • 非随机缺失(填充困难)

数据缺失的原因:

  • 客观原因:数据丢失,采集不全
  • 主观原因

缺失数据利用方式

传统的数据缺失处理在数据预处理中完成,基于此提出了全过程中缺失数据利用的流程
流程

缺失数据填充

传统的填充方法如下所示,使得所有的缺失数据使用同一个填充算法。

Start
Build a model with all complete trainning data
Impute all missing data with the model
End

填充结果即用式

那么能不能在填充过程中就可以利用缺失数据来提高填充质量呢?可以,方法是按照一个顺序逐步填充,填充后面的数据是可以利用前面已经填好的数据。这个问题的挑战是在递归过程中需要调整模型参数。1

填充结果即用式填充的扩展

在缺失数据填充阶段利用缺失数据
方法:先填充,后利用
名称:U3I填充2

混合属性填充

背景:数据集合的属性通常有多种类型,计算距离时,非数值型数据之间的距离如何计算?
方法:设计混合核函数距离计算方法
名称:MAD缺失填充3
效果:填补混合属性下填充的技术空白

统计参数最优填充

方法:填充完后,保持数据集合原有的统计量,均值和分布函数基本不变4 5
结果:保持了一类数据结构

  1. 填充缺失样本
  2. 计算填充后的均值和分布函数
  3. 比较前后的均值和分布函数的差异
  4. 如果差异不满足要求
  5. 调整参数并转第一步
  6. 否则,输出填充结果

聚类填充

背景:早期的填充函数是对整个训练样本空间的数据进行拟合,但是,样本分布在不同空间具有不同的密度。(如,肿瘤的良性和恶性,其分布不一样)
方法:样本空间分成3~7个类,在各个类上建立填充函数,保持各个类中原有的统计意义6
效果:提升填充结果的精确度

多重填充

思路:重复1000次以上填充,调整填充模式的参数7
解决:微调填充模型的参数

CD-KNN填充

背景:训练样本中各个类的份额严重失衡,即,非均衡数据
方法:采用CF(不确定因子)思想改良kNN填充方法8
实现:考虑各类数据的全局信息
效果:非均衡/倾斜类数据填充

灰度K 最近邻填充算法

  1. 构造灰度距离函数
  2. 数据值域归一化处理
  3. 计算数据之间的灰度距离
  4. 填充含缺失值数据

数据值域之间存在数量级不一致性问题,例如,肿瘤周长和圆润度的数量级不一致性导致学习bias,计算灰度距离可以消除这种学习bias.

壳状近邻填充

背景:最近邻点的选取可能因为样本数量不足,选区的一些点有偏差
方法:采取直接最近邻点填充9
实现:壳层最近邻点的选取(二次选取最近邻点)
效果:解决滥竽充数问题

  1. 缺失数据A的K个最近邻点S1
  2. 依照坐标轴逐一从S1中选择出每个坐标轴的左右最近邻点各一个
  3. 这样选择的所有最近邻点组成S2
  4. 采用S2中的最近邻点填充A的缺失值

注意:在第二步中,有些最近邻点可以被多次选择,如果记录下选择次数,可以用于加权填充。

部分填充

背景:有些缺失数据确实是噪音
方法:less is better than more: 填充代价低,挖掘模式的质量更高10
实现:只利用部分缺失数据,获取更高的挖掘效果
效果:缺失数据是孤立点的问题

缺失数据分类

背景:非均衡数据分类,代价/风险敏感分类
方法:对于数据得缺失值,采用赋值一个代价来处理11
效果:给问题加料

缺失数据的代价敏感分类

  1. 测试和误分类代价之和最小化为最佳理念
  2. 最小化测试与误分类代价的决策树分类
  3. 第一个考虑多个代价敏感的数据挖掘模型
  4. 也用于挖掘含有缺失值的数据
  5. 对于含有缺失值的数据,采用赋值一个代价来处理

代价敏感决策树
含缺失值的决策树

等待代价敏感决策树分类

方法:同时考虑等待代价、测试代价、误分类代价,以及缺失数据的处理代价12
目的:总代价最小化
效果:多代价的最小化

结束语

在你的问题中考虑缺失数据利用,即,给问题加料

  • 问题更复杂
  • 解法更精巧
  • 结论更有趣
  • 成果更高档
  • 将来更考虑

  1. Zhu, X., Zhang, S., Zhang, J., & Zhang, C. (2007, July). Cost-sensitive imputing missing values with ordering. In AAAI (pp. 1922-1923). ↩︎

  2. Zhang, S., Jin, Z., & Zhu, X. (2011). Missing data imputation by utilizing information within incomplete instances. Journal of Systems and Software, 84(3), 452-459. ↩︎

  3. Zhu, X., Zhang, S., Jin, Z., Zhang, Z., & Xu, Z. (2011). Missing value estimation for mixed-attribute data sets. IEEE Transactions on Knowledge and Data Engineering, 23(1), 110-121. ↩︎

  4. Qin, Y., Zhang, S., Zhu, X., Zhang, J., & Zhang, C. (2007). Semi-parametric optimization for missing data imputation. Applied Intelligence, 27(1), 79-88. ↩︎

  5. Qin, Y., Zhang, S., Zhu, X., Zhang, J., & Zhang, C. (2009). POP algorithm: Kernel-based imputation to treat missing values in knowledge discovery from databases. Expert systems with applications, 36(2), 2794-2804. ↩︎

  6. Zhang, S., Zhang, J., Zhu, X., Qin, Y., & Zhang, C. (2008). Missing value imputation based on data clustering. In Transactions on computational science I (pp. 128-138). Springer, Berlin, Heidelberg. ↩︎

  7. Zhang, S., Jin, Z., Zhu, X., & Zhang, J. (2009). Missing data analysis: a kernel-based multi-imputation approach. In Transactions on Computational Science III (pp. 122-142). Springer, Berlin, Heidelberg. ↩︎

  8. Zhang S. KNN-CF Approach: Incorporating Certainty Factor to kNN Classification[J]. IEEE Intelligent Informatics Bulletin, 2010, 11(1): 24-33. ↩︎

  9. Zhang S. Shell-neighbor method and its application in missing data imputation[J]. Applied Intelligence, 2011, 35(1): 123-133. ↩︎

  10. Zhang, S. (2008). Parimputation: From imputation and null-imputation to partially imputation. IEEE Intelligent Informatics Bulletin, 9(1), 32-38. ↩︎

  11. Ling, C. X., Yang, Q., Wang, J., & Zhang, S. (2004, July). Decision trees with minimal costs. In Proceedings of the twenty-first international conference on Machine learning (p. 69). ACM. ↩︎

  12. Zhang, S. (2010). Cost-sensitive classification with respect to waiting cost. Knowledge-Based Systems, 23(5), 369-378. ↩︎

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值