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

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

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

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

1.机械原因

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

2.人为原因

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

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

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

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

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

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

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

二、缺失处理

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

1.删除

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

2.常量填充

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

3.插值填充

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

4.KNN填充

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

5.随机森林填充

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

  1. 回归分析

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

  1. 贝叶斯网络

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

相关推荐
摇滚侠2 小时前
AI 编程工具 《TRAE 官方手册》阅读笔记 AI 编程核心 上
人工智能·笔记
一个王同学3 小时前
从零到一 | CV转多模态大模型 | week19 | 基于 FastAPI 和 vLLM 的多模态大模型部署
人工智能·深度学习·计算机视觉·fastapi·改行学it·vllm
m沐沐4 小时前
【深度学习】YOLOv2目标检测算法——改进点、网络结构与聚类先验框解析
人工智能·pytorch·深度学习·算法·yolo·目标检测·transformer
企业老板ai培训4 小时前
破解中小企业AI变现难:2026年企业AI培训与陪跑行业趋势深度报告,为何从‘陪跑’到‘变现’才是关键?
大数据·人工智能
神奇霸王龙5 小时前
国产音乐视频 Prompt 三段式屠夫榜:5 个国产视频模型实测对比
人工智能·ai·prompt·音视频·agent·ai编程·agi
OpenCSG5 小时前
Hugging Face遭遇AI Agent攻击:AI资产管理正在进入新阶段
人工智能·大模型
神奇霸王龙5 小时前
AI视频Prompt结构化实战指南:可灵/万相/豆包
人工智能·ai·prompt·aigc·音视频·ai编程
aax12134535 小时前
VOC 集群治理工程实操|美丽蓝天绿岛项目 RTO 工艺选型、管控方案与申报要
大数据·数据库·人工智能
Scott9999HH5 小时前
【工控选型破局】拒绝盲目溢价与低质陷阱:基于 Modbus-RTU 状态诊断与自适应滑动中值滤波的 C++ 实战,兼论“性价比高又好用的仪器仪表厂家”选型之道
人工智能
To_OC5 小时前
调了一上午 DeepSeek 参数,我终于摸透了 temperature 和 Top K 的真实作用
人工智能·llm·deepseek