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

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

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

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

1.机械原因

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

2.人为原因

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

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

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

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

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

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

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

二、缺失处理

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

1.删除

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

2.常量填充

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

3.插值填充

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

4.KNN填充

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

5.随机森林填充

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

  1. 回归分析

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

  1. 贝叶斯网络

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

相关推荐
2501_918126919 分钟前
如何使用ai预防ai爆破服务器
人工智能
马剑威(威哥爱编程)11 分钟前
【HarmonyOS 7 小艺智能体实战】10:提交、审核、上架与上线后——把服务真正交给用户
人工智能·华为·harmonyos
yyk3332412 分钟前
YOLOv3算法
人工智能·yolo·目标跟踪
cooldream200913 分钟前
AI 时代编程学习路线图:四个阶段,从零基础到独立交付
人工智能·编程学习
马剑威(威哥爱编程)14 分钟前
【HarmonyOS 7 小艺智能体实战】08:在真机上把它跑起来——调试与预览
人工智能·华为·harmonyos
高洁0118 分钟前
知识图谱:结构化表达实体与关系的知识组织技术
人工智能·python·深度学习·机器学习·迁移学习
雾喔20 分钟前
从零理解大语言模型:AI、LLM、训练成本与手机助手的底层逻辑
人工智能·语言模型·智能手机
云飞云共享云桌面20 分钟前
非标自动化工厂研发部门怎么实现一台服务器带10个SolidWorks设计并发
运维·服务器·人工智能·3d·自动化·电脑·制造
硅谷秋水23 分钟前
Agentic World Action Models(AW-0)贡献与不足分析
人工智能·机器学习·计算机视觉·语言模型·机器人
校园安全大脑平台24 分钟前
学校原有监控摄像头怎么接入 AI 安全平台?利旧改造的条件核对清单
人工智能·安全