5.数据预处理

数据预处理是机器学习中至关重要的环节,它包括数据清洗、缺失值处理、异常值检测、数据标准化和归一化等。通过有效的预处理,可以提高数据质量,降低噪声,使得模型能更好地理解和学习数据的特征,从而提升预测精度和模型稳定性。
摘要由CSDN通过智能技术生成
#####5 数据预处理#####

#####5.1 数据集加载#####
library(lattice)
library(nnet)
library(MASS)

library(mice)
data(nhanes2) #获取nHanes2数据集
nrow(nhanes2);ncol(nhanes2) #显示行列数
summary(nhanes2)
#从概括信息中可以看出,age和hyp是定型变量,分别分为3类和2类,bmi和chl是定量变量;
#age没有缺失值,bmi有9个缺失值,hyp有8个缺失值,chl有10个缺失值

#补充说明:数据中存在缺失值的情况主要有两种:其一,但数据输入其中时其中某个观测值
#缺失,数据表的相应位置显示为NA,如上变量中出现NA值就是这种情况;其二,当数据表经由
#其他数据表计算得来时,存在计算错误或计算值不符合要求时,也会显示NA。

#age:年龄段,取值1,2,3;
#bmi:身高质量指数,单位为kg/m^2;
#hyp:是否患高血压,1代表“否”,2代表“是”;
#chl:血清胆固醇总量,单位为mg/dL

head(nhanes2)

#####5.2 数据清理#####
pay=c(11,19,14,22,14,28,13,81,12,43,11,16,31,16,23,42,22,26,17,22,13,27,180,16,
      43,82,14,11,51,76,28,66,29,14,14,65,37,16,37,35,39,27,14,17,13,38,28,40,85,32,
      25,26,16,12,54,40,18,27,16,14,33,29,77,50,19,34) #年薪超过十万的经理收入(单位为10万)
par(mfrow=c(2,2)) #将绘图窗口划成2*2,可同时显示4幅图
hist(pay)         #绘制直方图
dotchart(pay)     #绘制点图
boxplot(pay,horizontal = T) #绘制箱型图
qqnorm(pay);qqline(pay)     #绘制Q-Q图
#第23个观测值远离其他变量,可以认为存在异常值,需要对异常值进行清理。

#####5.2.1 缺失值处理#####
sum(is.na(nhanes2)) #计算nhanes2中缺失值的数量
sum(complete.cases(nhanes2)) #计算nhanes2中完整样本的数量
md.pattern(nhanes2)         #观测缺失值的情况
#其中1表示没有缺失数据,0表示存在缺失数据。

#直接删除,变量均值或中位数代替,要求缺失数据是随机出现的
#多重插补法通过变量间的关系对缺失数据进行预测,利用蒙特卡洛方法生成多个完整的数据集,再对这些数据分别
#进行分析,最后对分析结果进行汇总处理。mice(data, m=5, ...)其中data代表一个有缺失值的数据框或矩阵,
#缺失值用NA表示;m表示插补重数,即生成m个完整的数据集,默认为m=5。
imp=mice(nhanes2, m=4)             #生
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值