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

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

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

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

1.机械原因

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

2.人为原因

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

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

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

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

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

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

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

二、缺失处理

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

1.删除

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

2.常量填充

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

3.插值填充

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

4.KNN填充

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

5.随机森林填充

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

  1. 回归分析

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

  1. 贝叶斯网络

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

相关推荐
haiyu_y1 天前
Day 58 经典时序模型 2(ARIMA / 季节性 / 残差诊断)
人工智能·深度学习·ar
peixiuhui1 天前
突破边界!RK3576边缘计算网关:为工业智能注入“芯”动力
人工智能·物联网·边缘计算·rk3588·iot·rk3568·rk3576
想你依然心痛1 天前
鲲鹏+昇腾:开启 AI for Science 新范式——基于PINN的流体仿真加速实践
人工智能·鲲鹏·昇腾
蓝眸少年CY1 天前
SpringAI+Deepseek大模型应用实战
人工智能
程序员欣宸1 天前
LangChain4j实战之十二:结构化输出之三,json模式
java·人工智能·ai·json·langchain4j
极小狐1 天前
智谱上市!当 GLM-4.7 遇上 CodeRider :演示何为「1+1>2」的巅峰效能
人工智能·ai编程
sunfove1 天前
贝叶斯模型 (Bayesian Model) 的直觉与硬核原理
人工智能·机器学习·概率论
q_30238195561 天前
Atlas200DK 部署 yolov11 调用海康威视摄像头实现实时目标检测
人工智能·yolo·目标检测
故乡de云1 天前
Vertex AI 企业账号体系,Google Cloud 才能完整支撑
大数据·人工智能
汽车仪器仪表相关领域1 天前
AI赋能智能检测,引领灯光检测新高度——NHD-6109智能全自动远近光检测仪项目实战分享
大数据·人工智能·功能测试·机器学习·汽车·可用性测试·安全性测试