《R语言数据挖掘:实用项目解析》——1.13 缺失值(NA)的处理

本文涉及的产品
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介:

本节书摘来自华章计算机《R语言数据挖掘:实用项目解析》一书中的第1章,第1.13节,作者[印度]普拉迪帕塔·米什拉(Pradeepta Mishra),译 黄芸,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.13 缺失值(NA)的处理

缺失值处理在标准数据挖掘场景中是一个重要的任务。在R语言中,缺失值显示为NA。NA既不是字符串也不是数值型变量,它们被当作缺失值的标识。在将数据集导入R语言平台之后,必须检查所有变量,看是否存在缺失值——可使用is.na()函数。示例如下:

image

在上面的代码中,对象x是一个数值型向量,其中包含了一些NA值。is.na()可用于验证是否存在缺失值,如存在,则输出结果为TRUE。如果在存在NA值的情况下做计算,最终会出错或者无结果。我们可以通过修改NA值来替换数据集,或者可以在执行计算时移除那些NA值。如上面的代码所示,在计算对象x的平均值时通过na.rm=TRUE移除NA值。

可以使用na.omit()删除数据集中的缺失值。即使数据集只缺失了一个变量,它也会删除那一整行。缺失值的处理方法有很多种:

  • 平均值替换:对于数据向量中的缺失值,可以用该向量的平均值或中位数替代(不包括NA值)。
  • 局部平均法:取缺失值的局部平均值,通过3或5个周期移动取平均,即取3个周期的缺失数据的平均值作为先验值,根据后验值可确定缺失值应该是多少。
  • 分隔保留:有时替换法无法完成,客户也许会有意将缺失值分隔保留下来,从而隔离地考虑缺失行为。
  • 基于模型:有一些基于模型的缺失值替换法,例如基于回归模型预测缺失值的方法。
  • 聚类法:可使用和回归预测相类似的方法来替换缺失值,可以采用K均值聚类法替换数据集中的缺失值。
相关文章
|
6月前
|
数据采集 机器学习/深度学习 数据挖掘
R语言数据清洗:高效处理缺失值与重复数据的策略
【8月更文挑战第29天】处理缺失值和重复数据是数据清洗中的基础而重要的步骤。在R语言中,我们拥有多种工具和方法来有效地应对这些问题。通过识别、删除或插补缺失值,以及删除重复数据,我们可以提高数据集的质量和可靠性,为后续的数据分析和建模工作打下坚实的基础。 需要注意的是,处理缺失值和重复数据时,我们应根据实际情况和数据特性选择合适的方法,并在处理过程中保持谨慎,以避免引入新的偏差或错误。
|
6月前
|
存储 机器学习/深度学习 缓存
【数据挖掘】XGBoost面试题:与GBDT的区别?为什么使用泰勒二阶展开?为什么可以并行训练?为什么快?防止过拟合的方法?如何处理缺失值?
XGBoost与GBDT的区别、XGBoost使用泰勒二阶展开的原因、并行训练的原理、速度优势、防止过拟合的策略以及处理缺失值的方法,突出了XGBoost在提升模型性能和训练效率方面的一系列优化。
240 1
|
9月前
|
数据可视化
数据代码分享|R语言lasso回归、贝叶斯分析员工满意度调查数据、缺失值填充
数据代码分享|R语言lasso回归、贝叶斯分析员工满意度调查数据、缺失值填充
|
9月前
|
机器学习/深度学习 数据采集 数据可视化
R语言航班延误影响预测分析:lasso、决策树、朴素贝叶斯、QDA、LDA、缺失值处理、k折交叉验证(上)
R语言航班延误影响预测分析:lasso、决策树、朴素贝叶斯、QDA、LDA、缺失值处理、k折交叉验证
|
9月前
|
机器学习/深度学习 算法 前端开发
【视频】为什么要处理缺失数据?如何用R语言进行缺失值填充?
【视频】为什么要处理缺失数据?如何用R语言进行缺失值填充?
|
9月前
R语言中缺失值的处理
R语言中缺失值的处理
54 0
|
9月前
R语言偏最小二乘回归PLS回归分析制药产品化学制造过程数据、缺失值填充、变量重要性
R语言偏最小二乘回归PLS回归分析制药产品化学制造过程数据、缺失值填充、变量重要性
|
9月前
|
机器学习/深度学习 算法 数据挖掘
R语言航班延误影响预测分析:lasso、决策树、朴素贝叶斯、QDA、LDA、缺失值处理、k折交叉验证(下)
R语言航班延误影响预测分析:lasso、决策树、朴素贝叶斯、QDA、LDA、缺失值处理、k折交叉验证
|
9月前
|
数据采集
R语言用线性模型进行臭氧预测: 加权泊松回归,普通最小二乘,加权负二项式模型,多重插补缺失值
R语言用线性模型进行臭氧预测: 加权泊松回归,普通最小二乘,加权负二项式模型,多重插补缺失值
|
9月前
|
机器学习/深度学习 算法
在R语言中进行缺失值填充:估算缺失值
在R语言中进行缺失值填充:估算缺失值