r数据挖掘实例

r数据挖掘实例

ID:19851880

大小:1.07 MB

页数:99页

时间:2018-10-07

r数据挖掘实例_第1页
r数据挖掘实例_第2页
r数据挖掘实例_第3页
r数据挖掘实例_第4页
r数据挖掘实例_第5页
资源描述:

《r数据挖掘实例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Crime&Shock数据集分析展示探索性数据分析CommunitiesandCrime Unnormalized DataSet(Datasource)2一、数据预处理#导入crime数据,修改变量名称,并查看数据属性crim=read.table("crim.txt",sep=",",na.string="?")name=read.table("attr_vol.txt")name=name[,2]colnames(crim)<-namesummary(crim)dim(crim)3观测值:2215变量数:147部分数据严重缺

2、失四、犯罪率分布情况4在3月份的行业销售旺季,东北地区及北部地区销售额占到公司全月总额的70%,西部地区仅为10%,西部死去市场潜力还需深度挖掘。可看出violentPerPopnonViolPerPop都出现了不同程度的拖尾特征,考虑对数据进行对数变换由图可知四、对数化变换5做变换后两变量数据较为对称由图可知四、犯罪率地区差异6三个地区犯罪率的中位数由西向东递减,分布相对集中,但东部地区出现了较为明显的离群值7缺失值处理nrow(crim[!complete.cases(crim),])##缺失值项的总行数#基本每行都有缺失值n

3、a.sta=c()for(iin1:2215){na.sta=c(na.sta,length(which(is.na(crim[i,]))))}max(na.sta)#缺失值基本在20左右,没有#缺失过于严重的样本,无需删除8缺失值处理:临近值插补从数据集中选取若干条其他属性和它相似的样本(即和它在空间欧式距离最短的n条样本),求其中位数进行插补crim$gangUnit=as.factor(gangUnit)crim1=crim[,c(6:126,128:147)]library(cluster)##调用R语言中的cluster

4、包#计算空间距离dist.mtx<-as.matrix(daisy(crim1,stand=T))##计算这2215个样品的空间距离9缺失值处理:临近值插补#先处理非因子型变量的缺失值,需要将以下步骤进行两次for(rinwhich(!complete.cases(crim1)))crim1[r,which(is.na(crim1[r,]))]<-apply(data.frame(crim1[c(as.integer(names(sort(dist.mtx[r,])[2:20]))),which(is.na(crim1[r,]))

5、]),2,median,na.rm=T)#再处理因子型变量的for(rin1:2215){if(is.na(gangUnit[r])){index=sort(dist.mtx[r,],index.return=T)$ixif(all(is.na(gangUnit[index[2:20]])))gangUnit[r]=gangUnit[intersect(index,which(is.na(gangUnit)==F))][1]else{gangUnit[r]=levels(gangUnit[index[2:11]])[which.m

6、ax(table(gangUnit[index[2:11]]))]}}}crim2=data.frame(cbind(crim[,1:5],crim1[,1:126],gangUnit,crim1[,-(1:126)]))10Crossvalidation#设置五折交叉验证n=2215;zz1=1:n#zz1为所有观测值(行)的下标zz2=rep(1:5,ceiling(n/5))[1:n]set.seed(200);zz2=sample(zz2,n)#zz2为1:5的随机排列zz2[1:100]#dd保存每一折下标,令tests

7、et选其中之一,则共可做五次交叉验证dd=list()for(iin1:5)dd[[i]]=zz1[zz2==i]ddModelbuilding ——traditionalmethods11LinearRegressioncrim.test=crim1[dd[[1]],]crim.train=crim1[-dd[[1]],]lm.vio=lm(violentPerPop~.,data=crim.train[,c(6:129,146)])summary(lm.vio)#对因变量做对数变换lm.logvio=lm(log(violen

8、tPerPop)~.,data=crim.train[,c(6:129,146)])summary(lm.logvio)shapiro.test(lm.vio$residuals)shapiro.test(lm.logvio$residuals)1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。