收藏 分销(赏)

数据挖掘r语言总结报告.doc

上传人:二*** 文档编号:4533074 上传时间:2024-09-27 格式:DOC 页数:25 大小:716.50KB 下载积分:5 金币
下载 相关 举报
数据挖掘r语言总结报告.doc_第1页
第1页 / 共25页
本文档共25页,全文阅读请下载到手机保存,查看更方便
资源描述
. . 成绩: 总 结 报 告 课程名称: 数据挖掘R语言 任课教师: 姓 名: 专 业: 计算机科学与技术 班 级: 学 号: 计算机科学与技术学院 2018 年 6 月 19 日 一、 数据预处理 针对不同分析目标,选择合适的字段,并将字段值处理成适于分析的形式。必要时还需对原数据集进行统计变换后形成易于分析的形式。 为每条数据添加字段:所属地区。根据下图中划分的美国四大地区,将每条数据中表示的案件发生地在该字段上划分为东北部、中西部、南部和西部四个值。 首先导入数据: gundata<-read.csv("d:/gun.csv",sep = ",",stringsAsFactors = FALSE,header = TRUE,quote=””) 然后将需要的字段取出来,在这里取出了一下几个字段: 标号 字段名 含义 数据类型 1 incident_id 犯罪记录id numeric 2 date 犯罪日期 dateTime 3 state 犯罪案件所在的州 string 4 city_or_county 犯罪案件所在的市 string 6 n_killed 死亡人数 numeric 7 n_injured 受伤人数 numeric 15 latitude 犯案位置的纬度 numeric 17 longitude 犯案位置的经度 numeric gundata[,c("incident_id","date","state","city_or_county","n_killed","n_injured","congressional_district","latitude","longitude","state_house_district","state_senate_district")] gd <- subset(gundata,select=c(incident_id,date,state,city_or_county,n_killed, n_injured,congressional_district,latitude,longitude,state_house_district,state_senate_district)) 然后根据州字段将所有数据划分为四个地区 阿拉巴马州 Alabama 阿拉斯加州 Alaska 亚利桑那州 Arizona 阿肯色州 Arkansas 加利福尼亚州 California 科罗拉多州 Colorado 哥伦比亚特区Columbia 康涅狄格州 Connecticut 特拉华州 Delaware 佛罗里达州 Florida 佐治亚州 Georgia 夏威夷州 Hawaii 爱达荷州 Idaho 伊利诺州 Illinois 印弟安纳州 Indiana 爱荷华州 Iowa 堪萨斯州 Kansas 肯塔基州 Kentucky 路易斯安那州 Louisiana 缅因州 Maine 马里XX Maryland 麻塞诸塞州 Massachusetts 密歇根州 Michigan 明尼苏达州 Minnesota 密西西比州 Mississippi 密苏里州 Missour 蒙大拿州 Montana 内布拉斯加州 Nebraska 内华达州 Nevada 新罕布希尔州 New Hampshire 新泽西州 New Jersey 新墨西哥州 New Mexico 纽约州 New York 北卡罗来纳州 North Carolina 北达科他州 North Dakota 俄亥俄州 Ohio 奥克拉荷马州 Oklahoma 俄勒冈州 Oregon 宾西法尼亚州 Pennsyivania 罗德岛州 Rhode Island 南卡罗来纳州 South Carolina 南达科他州 South Dakota 田纳西州 Tennessee 德克萨斯州 Texas 犹他州 Utah 佛蒙特州 Vermont 弗吉尼亚州 Virgina 华盛顿州 Washington 西佛吉尼亚州 West Virginia 威斯康辛州 Wisconsin 怀俄明州 Wyoming 东北部 Maine,New Hampshire,Vermont,Massachusetts,Rhode Island,Connecticut,New York,Pennsyivania,New Jersey 中西部 Wisconsin,Michigan,Illinois,Ohio,Indiana,Missour,North Dakota,South Dakota,Nebraska,Kansas,Minnesota,Iowa 南部 Delaware,Maryland,District of Columbia,Virgina,West Virginia,North Carolina,South Carolina,Georgia,Florida,Kentucky,Tennessee,Mississippi,Alabama,Oklahoma,Texas,Arkansas,Louisiana 西部 Iowa,Montana,Wyoming,Nevada,Utah,Colorado,New Mexico,Arizona,Alaska,Washington,Oregon,California,Hawaii for (i in 1:length(gd[,1])){ if (gd[i,3]=="Maine"|gd[i,3]=="New Hampshire"|gd[i,3]=="Vermont"|gd[i,3]=="Massachusetts"|gd[i,3]=="Rhode Island"|gd[i,3]=="Connecticut"|gd[i,3]=="New York"|gd[i,3]=="Pennsylvania"|gd[i,3]=="New Jersey") { gd[i,9]="东北部" } else if (gd[i,3]=="Wisconsin"|gd[i,3]=="Michigan"|gd[i,3]=="Illinois"|gd[i,3]=="Ohio"|gd[i,3]=="Indiana"|gd[i,3]=="Missouri"|gd[i,3]=="North Dakota"|gd[i,3]=="South Dakota"|gd[i,3]=="Nebraska"|gd[i,3]=="Kansas"|gd[i,3]=="Minnesota"|gd[i,3]=="Iowa") { gd[i,9]="中西部" } else if (gd[i,3]=="Delaware"|gd[i,3]=="Maryland"|gd[i,3]=="District of Columbia"|gd[i,3]=="Virginia"|gd[i,3]=="West Virginia"|gd[i,3]=="North Carolina"|gd[i,3]=="South Carolina"|gd[i,3]=="Georgia"|gd[i,3]=="Florida"|gd[i,3]=="Kentucky"|gd[i,3]=="Tennessee"|gd[i,3]=="Mississippi"|gd[i,3]=="Alabama"|gd[i,3]=="Oklahoma"|gd[i,3]=="Texas"|gd[i,3]=="Arkansas"|gd[i,3]=="Louisiana") {gd[i,9]="南部"} else if(gd[i,3]=="Iowa"|gd[i,3]=="Montana"|gd[i,3]=="Wyoming"|gd[i,3]=="Nevada"|gd[i,3]=="Utah"|gd[i,3]=="Colorado"|gd[i,3]=="New Mexico"|gd[i,3]=="Arizona"|gd[i,3]=="Alaska"|gd[i,3]=="Washington"|gd[i,3]=="Oregon"|gd[i,3]=="California"|gd[i,3]=="Hawaii") {gd[i,9]="西部"}} 然后用fix(gd)将第九列的字段修改为part: 最后处理完的数据为以下格式: 最后将数据存储下来,备用:write.csv(gd,"f://GunData.csv",row.names = FALSE) . 保存的数据格式如下: 共有23w多条数据,其中部分数据有字段为空值,将在后续分析中删除。 二、 基本统计分析 1)统计各州发生枪支案件的总数。 2)统计各地区发生枪支案件的总数。 3)分析各地区枪支案件的分布特征。 4)按年度统计各州发生枪支案件的数目。 5)分析四大地区的经纬度X围 2)推断性统计:选择合适的R函数进行如下假设检验,并得出结论。 1)分析死亡人数与受伤人数间是否具有相关性。 2)分析南部地区的案件数和其他地区的案件数是否具有显著差异。 3)分析死亡人数与案件数是否相关;受伤人数与案件数是否相关。 1、统计各州发生枪支案件的总数。 建立一个table,可以显示出各州的案件数 然后绘制一个直方图,显示出各个州的案件数 就可以直观的看出各个州的案件数量。 2、统计各地区发生枪支案件的总数: 绘制一个条形图,可以直观的看出各个地区的案件总数。 首先建立一个table,counts<-table(gd$part) ,然后利用画图函数,绘制条形图 barplot(counts,main="gunvolience",xlab="part",ylab="num",col=c("red","yellow","green","blue"),ylim = c(0,120000)) 结果如下图: 可以看出南部人数最多,10w+,其次是中西部,东北部和西部的数量差不多。 3、 分析各地区枪支案件的分布特征。 首先取出数据中东北部地区的数据 gd1<-g[g[,10]=='东北部',] gd2<-g[g[,10]=='南部',] gd3<-g[g[,10]=='中西部',] gd4<-g[g[,10]=='西部',] 然后生成四个table count1<-table(gd1$state) count2<-table(gd2$state) count3<-table(gd3$state) count4<-table(gd4$state) 然后绘制各地区的案件分布图 分析东北部地区的枪支案件分布,利用barplot函数, barplot(count1,main="东北部",) barplot(count2,main="南部") barplot(count3,main="中西部") barplot(count4,main="西部") 可以看出主要集中在纽约和宾夕法尼亚州,西部全部集中在加州,南部分布的还算平均,佛罗里达多一些,中西部集中在波士顿。 4、 按年度统计各州发生枪支案件的数目。 根据日期中的年度,将数据划分为13,14,15,16,17,18六段数据, 先将数据排序后,找到每年数据的第一条,然后分片取数据 gt13<-g[1:276,] gt14<-g[277:51813,] gt15<-g[51814:105715,] gt16<-g[105716:159395,] gt17<-g[159396:219007,] gt18<-g[219008:231226,] 然后统计各年度的受伤人数、死亡人数、案件数。 > length(gt13[,1]) [1] 276 > length(gt14[,1]) [1] 51537 > length(gt15[,1]) [1] 53902 > length(gt16[,1]) [1] 53680 > length(gt17[,1]) [1] 59612 > length(gt18[,1]) [1] 12219 可以看出13年犯案数是276例,14年51537,15年53902,16年53680,17年56912,18年12219例。然后分别建立table,然后就可以看到各个州的案件数。 Table(gt14$state) Table(gt17$state) 5、 分析四大地区的经纬度X围 将数据根据地区分为四部分,然后根据经度和纬度数据绘制散点图。 gd1<-g[g[,10]=='东北部',] gd2<-g[g[,10]=='南部',] gd3<-g[g[,10]=='中西部',] gd4<-g[g[,10]==西部',] plot(gd1[,9],gd1[,8],col="blue",main="东北部",xlab="经度",ylab="纬度",xlim=c(-125,-65),ylim=c(30,50)) plot(gd2[,9],gd2[,8],col="blue",main="南部",xlab="经度",ylab="纬度",xlim=c(-125,-65),ylim=c(30,50)) plot(gd3[,9],gd3[,8],col="blue",main="中西部",xlab="经度",ylab="纬度",xlim=c(-125,-65)) plot(gd4[,9],gd4[,8],col="blue",main="西部",xlab="经度",ylab="纬度",xlim=c(-125,-65)) 2)推断性统计:选择合适的R函数进行如下假设检验,并得出结论。 1)分析死亡人数与受伤人数间是否具有相关性。 2)分析南部地区的案件数和其他地区的案件数是否具有显著差异。 3)分析死亡人数与案件数是否相关;受伤人数与案件数是否相关。 1、 利用R语言中的cor()函数,可以计算数据之间的相关性 先取出数据中的死亡人数和受伤人数字段,分别为[,6]和[,7],因为字段中的格式为字符串形式,现用as.numeric函数将字符串格式强制转化为数值型。然后利用cor函数 Cor(g[,6],g[,7])计算相关性。 这里a是前面的[,6]死亡人数数据,b是[,7]受伤人数数据,取10000条计算(取全部会显示NA),结果为负值。多次取值取数据越大数值绝对值越小。 2、 生成各地区案件数table,并画出各地区案件数的条形图 counts<-table(g$part) > counts 东北部 南部 西部 中西部 35220 102785 34016 58572 >plot(counts,main="gunvolience",xlab="part",ylab="num",col=c("red","yellow","green","blue"),ylim = c(0,120000)) > 可以看出南部的案件数显著的比其他地区的要多很多。 3、 首先按地区统计受伤,死亡人数与案件数的相关性。 将数据分为按地区字段分为四个部分,使用前面的gd1,gd2,gd3,gd4。 统计各州的案件数总和和受伤,死亡人数总和,然后进行计算。 k1<-sum(as.numeric(gd1$n_killed),na.rm=TRUE) k2<-sum(as.numeric(gd2$n_killed),na.rm=TRUE) k3<-sum(as.numeric(gd3$n_killed),na.rm=TRUE) k4<-sum(as.numeric(gd4$n_killed),na.rm=TRUE) i1<-sum(as.numeric(gd1$n_injured),na.rm=TRUE) i2<-sum(as.numeric(gd2$n_injured),na.rm=TRUE) i3<-sum(as.numeric(gd3$n_injured),na.rm=TRUE) i4<-sum(as.numeric(gd4$n_injured),na.rm=TRUE) l1<-length(gd1[,1]) l2<-length(gd2[,1]) l3<-length(gd3[,1]) l4<-length(gd4[,1]) 然后利用cor函数分析相关性。 > c1=c(i1,i2,i3,i4) > c2=c(k1,k2,k3,k4) > c3=c(i1,i2,i3,i4) > cor(c1,c2) > cor(c1,c3) > cor(c2,c3) 可以看出数据之间是相关的,相关系数均约等于1。 3. 数据挖掘 (1)聚类:针对如下目标进行聚类分析,并针对生成的聚簇,分析每个聚簇中数据的特征。 1)根据死亡人数、受伤人数对所有城市(city)划分聚簇,分析各聚簇中死亡人数和受伤人数的分布特征,以及各聚簇中的城市是否具有几大地区聚集的特征。 2)根据死亡人数、受伤人数、犯案数对所有州划分聚簇,分析各聚簇特征。 (2)时间序列:将数据集按照处理成时间序列形式的数据【例如对州按月度获取其犯案数、死亡人数、受伤人数等数据】 1)对四个地区分别分析从2013年1月到2018年3月,犯案数所构成的时间序列①具有什么样的趋势,②是否具有季节周期性特征。 2)对南部地区预测其2018年4月的犯案数大概是多少。 3)画出全美关于枪支犯案数构成的时间序列的月度图(将每个月份组成的子序列画在一X图内)和年度图(将每年1到12月份的数据形成子序列,画在一X图内)。 (3)分类 根据现有经纬度数据构建关于州的分类器。使得能基于该分类器对指定经度纬度表示的位置判断其所属的州。 要求划分的训练集与测试集每次均一致,即训练集与测试集的划分可重复。 1、 根据死亡人数、受伤人数对所有城市划分聚簇, 2、 根据死亡人数、受伤人数、犯案数对所有州划分聚簇 g1<-g[,c("city_or_county","n_killed","n_injured")] 先统计出各个城市的死亡人数,受伤人数的数据。 根据犯案数对州进行聚类 最长聚类法 counts<-table(g$state) distance <- dist(counts) c.hc <- hclust(distance) plot(c.hc, hang = -1) c.hc <- hclust(distance,method="ward") #聚类分析,离差平方和法 plot(c.hc, hang = -1) #绘画系谱图 re <- rect.hclust(china.hc, k = 5) #分为5类 可以看出前四个州是犯案数最多的,Florida,Texas,California,Illinois四个州是最多的,算为第一类。 . .word..
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 应用文书 > 报告/总结

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服