电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

R数据挖掘实例VIP免费

R数据挖掘实例_第1页
1/99
R数据挖掘实例_第2页
2/99
R数据挖掘实例_第3页
3/99
Crime&Shock数据集分析展示探索性数据分析CommunitiesandCrimeUnnormalizedDataSet(Datasource)一、数据预处理#导入crime数据,修改变量名称,并查看数据属性crim=read.table("crim.txt",sep=",",na.string="?")name=read.table("attr_vol.txt")name=name[,2]colnames(crim)<-namesummary(crim)dim(crim)观测值:2215变量数:147部分数据严重缺失四、犯罪率分布情况在3月份的行业销售旺季,东北地区及北部地区销售额占到公司全月总额的70%,西部地区仅为10%,西部死去市场潜力还需深度挖掘。可看出violentPerPopnonViolPerPop都出现了不同程度的拖尾特征,考虑对数据进行对数变换由图可知四、对数化变换做变换后两变量数据较为对称由图可知四、犯罪率地区差异三个地区犯罪率的中位数由西向东递减,分布相对集中,但东部地区出现了较为明显的离群值缺失值处理nrow(crim[!complete.cases(crim),])##缺失值项的总行数#基本每行都有缺失值na.sta=c()for(iin1:2215){na.sta=c(na.sta,length(which(is.na(crim[i,]))))}max(na.sta)#缺失值基本在20左右,没有#缺失过于严重的样本,无需删除缺失值处理:临近值插补从数据集中选取若干条其他属性和它相似的样本(即和它在空间欧式距离最短的n条样本),求其中位数进行插补crim$gangUnit=as.factor(gangUnit)crim1=crim[,c(6:126,128:147)]library(cluster)##调用R语言中的cluster包#计算空间距离dist.mtx<-as.matrix(daisy(crim1,stand=T))##计算这2215个样品的空间距离缺失值处理:临近值插补#先处理非因子型变量的缺失值,需要将以下步骤进行两次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,]))]),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.max(table(gangUnit[index[2:11]]))]}}}crim2=data.frame(cbind(crim[,1:5],crim1[,1:126],gangUnit,crim1[,-(1:126)]))Crossvalidation#设置五折交叉验证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保存每一折下标,令testset选其中之一,则共可做五次交叉验证dd=list()for(iin1:5)dd[[i]]=zz1[zz2==i]ddModelbuilding——traditionalmethodsLinearRegressioncrim.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(violentPerPop)~.,data=crim.train[,c(6:129,146)])summary(lm.logvio)shapiro.test(lm.vio$residuals)shapiro.test(lm.logvio$residuals)LinearRegression结果显示对因变量做对数变换后并未使模型显著度明显增强。注:由于空间原因只显示未对数化处理模型的部分结果LinearRegression:anova注:由于空间原因只显示部分结果LinearRegression:anovaav=anova(lm.vio)#显示回归中系数不显著的前十个变量名称names(crim[,6:129])[sort(av[,5],decreasing=T,index.return=T)$ix[1:20]]注:红线标注的为两个模型中都非常不显著变量(pvalue>0.7)LinearRegressionfor(iin1:5){crim.test=data.frame(crim1[dd[[i]],])crim.train=data.frame(crim1[-dd[[i]],])lm.vio=lm(violentPerPop~.,data=crim.train[,c(6:129,146)])pre.train=predict(lm.vio)pre.test=predict(lm.vio,crim.test[,c(6:129,146)])NM.train=mean((crim.train$violentPerPop-pre.train)^2)/mean((mean(crim.train$violentPerPop)-crim.train$violentPerPop)^2)NM.test=mean((crim.test$violentPerPop-pre.test)^2)/mean((mean(crim.test$violentPerPop)-crim.test$violentPerPop)^2)M.train=mean((crim.train$violentPerPop-pre.t...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

R数据挖掘实例

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部