数据集接《3缺失值离群点处理》中2
1、异常值分析及处理
#获取月收入的异常值
out <-boxplot.stats(traindata$x5)
boxplot(traindata$x5)
# which(traindata$x5%in% out)
# traindata1 <-traindata[-which(traindata$x5 %in% out)]
#boxplot(traindata1$x5)
#首先对于x2变量,即客户的年龄,我们可以定量分析,发现有以下值
unique(traindata$x2)
#可以看到年龄中存在0值,显然是异常值,予以剔除。
traindata <-traindata[-which(traindata$x2==0), ]
#对于x3,x7,x9三个变量,由下面的箱线图可以看出,均存在异常值,且由unique函数可以得知均存在96、98两个异常值,因此予以剔除。同时会发现剔除其中一个变量的96、98值,其他变量的96、98两个值也会相应被剔除
unique(traindata$x3)
traindata <-traindata[-which(traindata$x3 %in% c(96, 98)), ]
unique(traindata$x7)
traindata <-traindata[-which(traindata$x7 %in% c(96, 98)), ]
#当把x3和x7中的异常值删除后,x9中的异常值也被删除了
unique(traindata$x9)
2、离群点
1)、检测方法:boxplot(箱线图)和k-means检测
2)、处理方法:①与该领域专家研究确定,可能属于正常情况,此时应保留这些值;②可能是离群点,在建模时删除这些值;③数据重构不需要删除离群点,使用记录中的均值或中位数进行替换。