版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37345402/article/details/83215363
数据介绍
- 使用银行对资产进行评估的数据bank-data.csv,数据里有12个属性,分别是id,age,sex,region,income,married,children, car, save_act, current_act, mortgage,pep.共600个实例。
- 本测试集中将pep属性作为分类的目标类别。
实验3 数据探索与预处理
1.数据探索
- 数据质量分析
缺失值分析
计算缺失值个数。
计算缺失率。
> setwd("G:/!!aaclassnew/R语言/20181011")
> saledata=read.csv(file = "bank-data.csv",header = TRUE)
> sum(!complete.cases(saledata))
[1] 6
> mean(!complete.cases(saledata))
[1] 0.01
异常值分析
简单统计量:计算最值。
箱形图分析。
> setwd("G:/!!aaclassnew/R语言/20181011")
> saledata=read.csv(file = "bank-data.csv",header = TRUE)
> sp=boxplot(saledata$income,boxwex=0.7)
> title("银行异常值检测")
> xi=1.1
> sd.s=sd(saledata[complete.cases(saledata),]$income)
> mn.s=mean(saledata[complete.cases(saledata),]$income)
> points(xi,mn.s,col="red",pch=18)
> arrows(xi,mn.s-sd.s,xi,mn.s+sd.s,code = 3,col = "blue",angle = 75,length = .1)
- 数据特征分析
分布分析:画出频率直方图。
统计量分析:对于连续属性值,求出均值以及标准差。
> dataa=saledata[,5]
> dataa
> hist(dataa,xlab = "Weight",col = "blue",border = "red",ylim = c(0,20),breaks = 2000)
> sales=saledata[,5]
> mean_=mean(sales,na.rm = T)
> mean_
[1] 27514.46
> std_=sqrt(var(sales,na.rm = T))
> std_
[1] 12821.21
2.数据预处理
- 数据清洗
缺失值处理:删除法。
> n=sum(is.na(dataa))
> n
[1] 6
> sub=which(is.na(dataa))
> sub
[1] 456 457 458 459 460 461
> dataa1=dataa[-sub]
> dataa1
- 数据集成
去除无用属性:删除“ID”属性。
> data2=saledata[,c(2:12)]
> data2
- 数据变换
离散化:把“Children”属性转换成分类型的两个值“YES”和“NO”;把income属性按照节点12640.3;17390.1;29622;43228.2离散化。
> for(i in 1:600)
+ {
+ if(saledata[i,7]>0){saledata[i,7]="YES";}
+ else {saledata[i,7]="NO";}
+ }
> saledata
> saledata=read.csv('bank-data.csv',he=T)
> v=sort(saledata[,5])
> v