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

在机器学习中,处理缺失数据是一个重要的任务,因为数据往往不完整。当数据集中存在缺失值时,如果不进行适当的处理,它们可能会对模型的训练和预测产生负面影响。

一、为什么会出现数据缺失

在数据收集过程中,由于各种原因,如设备故障、人为失误等,可能会导致数据丢失或缺失。总体可总结为两大原因:机械原因和人为原因。

1.机械原因

机械原因是由于机械原因所导致的数据收集或保存的失败造成的数据缺失,比如数据存储的失败 ,存储器损坏 ,机械故障导致某段时间数据未能收集。

2.人为原因

人为原因是由于人的主观失误、历史局限或有意隐瞒造成的数据缺失,比如,在市场调查中被访人拒绝透露相关问题的答案,或者回答的问题是无效的,数据录入人员失误漏录了数据造成数据缺失的原因是多方面的。主要有以下几种:

1)有些信息暂时无法获取。例如在医疗数据库中,并非所有病人的所有临床检验结果都能在给定的时间内得到,就致使一部分属性值空缺出来。

2)有些信息是被遗漏的。可能是因为输入时认为不重要、忘记填写了或对数据理解错误而遗漏,也可能是由于数据采集设备的故障、存储介质的故障、传输媒体的故障、一些人为因素等原因而丢失了。

3)有些对象的某个或某些属性是不可用的。也就是说,对于这个对象来说,该属性值是不存在的,如一个未婚者的配偶姓名、一个儿童的固定收入状况等。

4)有些信息(被认为)是不重要的。如一个属性的取值与给定语境是无关的,或训练数据库的设计者并不在乎某个属性的取值。

5)获取这些信息的代价太大。

6)系统实时性能要求较高,即要求得到这些信息前迅速做出判断或决策。

二、缺失处理

处理缺失值是数据分析中不可或缺的一部分,它有助于提高数据质量和分析的准确性,帮助我们更好的理解数据和得出结论。对于缺失处理有以下七种方法:

1.删除

当样本中的某些特征存在缺失数据时,可以选择直接删除含有缺失数据的样本。这种方法简单粗暴,能够确保数据的准确性,但是也有一个缺点,会导致数据集规模减小。如果样本足够多的情况下,可以考虑这种方式。

2.常量填充

在进行填充之前,我们需要对确实的变量进行业务的了解,变量的含义、获取方式、计算逻辑等。常量填充一般可以用0,均值、中位数、众数等填充。这种方式简单快捷,可以有效保留特征信息。

3.插值填充

除了常量,我们还可以用插值对缺失数据进行估计。插值是根据已有的数据进行推断,填充数据。常用有线性插值、多项式插值、样条插值等。但是也可能造成一些误差。

4.KNN填充

利用KNN算法填充,把目标列当作目标标量,利用非缺失的数据进行knn算法拟合,最后对目标列缺失进行预测。

5.随机森林填充

随机森林跟knn算法差不多。

  1. 回归分析

回归分析是一种更复杂的方法,它通过建立一个回归模型来预测缺失值。这种方法可以更好地利用数据中的信息,但需要更多的计算资源和时间。常用的回归模型包括线性回归、逻辑回归、决策树回归等。

  1. 贝叶斯网络

贝叶斯网络是一种概率图模型,它可以通过建立一个网络结构来描述变量之间的依赖关系。贝叶斯网络可以用于处理缺失数据,通过建立一个网络结构来描述变量之间的依赖关系,并使用条件概率对缺失值进行推理和预测。这种方法可以更好地利用数据中的信息,但需要更多的计算资源和时间。

相关推荐
高升说2 分钟前
手眼方案怎么选:眼在手上与眼在手外的工程对比
人工智能·数码相机
Highcharts.js18 分钟前
智能数据分析组件Orbit 正式发布与快速上手体验教程
前端·人工智能·信息可视化·数据分析系统·highcharts·orbit·智能可视化
apple_6926588525 分钟前
基于 Qwen-Image-2.1 的人物替换 LoRA 模型及部署工作流 人物替换的效果 吊打闭源
人工智能·计算机视觉
甲维斯29 分钟前
绝了!Codex找苹果客服解决Claude订阅问题!
人工智能
斗象科技32 分钟前
斗象入选上海市“AI+制造“服务商能力图谱·AI安全服务商
人工智能·安全·制造
明志数科39 分钟前
工业采集数据的计量口径分层与可复算质检设计
人工智能·机器人
qq_25294131681 小时前
日本道路病害检测数据集 | 道路病害 裂缝检测 坑洼识别 市政巡检9287期
人工智能·深度学习·yolo·目标检测·计算机视觉·道路检测
yumengxt1 小时前
「屿梦星途GEO」系列 · 每日AI资讯解读
人工智能
Qianxueban1 小时前
如果卷积核大小固定,步长固定,那经过i次卷积,它一个像素的感受野是多大?
人工智能·深度学习·计算机视觉
拆房老料1 小时前
DeepSeek Super-agent 架构解析:从单任务 Agent 到持续运行的任务系统
人工智能·设计模式·系统架构