网站大量收购独家精品文档,联系QQ:2885784924

应用多元分析之聚类分析.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
应用多元分析之聚类分析

用聚类分析探究现实中的物以类聚人以群分 研究目的:用聚类分析的方法,尝试对现实中的人群进行分类,然后与现实中已存在的小团队相比较,探究此方法用于人群分类的可行性 研究意义:因为此次的数据只来自本班的同学,样本小,代表性差,更多的只是满足一下自己的好奇心,并没有太大的意义。自己只是想试试看能不能成功分类,并借此方法验证一下的自己想法,要是能成功,就权当给大家作为一个交友参考 研究步骤: 首先,选取本班同学作为样本,一是收集数据方便,二是因为这样更容易得知自己结果的可靠性如何 然后给与每个同学附以各项属性值,由于是学生,成绩将被列为第一属性,其次再加入性别、身高体重等指标值。出于简单考虑,暂且各项属性指标的权重相同 在此次模型中,为什么要加入成绩呢,因为一般在一起玩耍的小伙伴成绩都不会相差太远,但实际情况中,对于成绩很好与成绩很差的同学这个规律就不太适用,所以这也是模型的不合理之处,虽然将数据做了标准化的处理,但从分析出的结果来看,成绩很好的更多的是被归为一类,但这个与我们现实情况并不相符。其次,我为什么加入体侧的成绩,因为体侧的成绩可以反映一个人的身体素质与热爱运动的程度,一般喜欢运动的会与喜欢运动的一起,不喜欢运动的一般更多会选择同样不喜欢运动的作伴,但是这个体侧数据体现更多的是反映体能的数据而非兴趣爱好,所以这是数据本身的不合理之处,但由于没有更好的数据,所以求其次,因此反映到结果上当然也是次的。 至于为什么想加入身高体重,则完全是个人猜想,毕竟有个形象理论嘛,就是人们在社交中会更倾向与自己形态相似的人,所以加进去只是想看看有没有改善结果,事实证明,结果并没有太大的改善,至于原因还有待研究 由上图四个表得知,最长距离法与类平均法分类的准确度相对较高。但由于只有原数据只有数值型指标(除性别属性外),并且那八个数值型指标中有些指标相互之间有很强的相关性。 所以结果并不尽人意。而且从上诉四种方法中分类较好的类平均法,其准确度为 ??格准确度=与现实一致的类的个数/分类总个数=4/15 非严格准确度=包含现实小团体的类的个数/分类总个数=9/15 从结果上看,此次的模型是失败的,因为其中有很多不足甚至不合理之处,粗糙度过高,但因此后续的改进方向有 加入用户行为数据指标与性格属性指标(当数值型指标与非数值型指标混在一起时,我也不知怎么处理) 采用主成分分析,找出贡献率最大的指标 给予各指标不同权重(只学过回归的加权,想这种分类的加权还真不知道怎么做,所以还有待研究) 程序: install.packages(plyr) library(plyr) rm(list=ls()) y=read.csv(file=dada.csv,header=T) fix(y) attach(y) dim(y) row.names(y)=y[,1] y=y[,-1] d=dist(scale(y)) hc1=hclust(d) opar=par(mfrow=c(1,1), mar=c(4,2,2,0.01)) plclust(hc1, hang = -1,main = 表1-1 最短距离法) rect.hclust(hc1, k=15, border=blue) hc2=hclust(d,average) #类平均法 opar=par(mfrow=c(1,1), mar=c(4,2,2,0.1)) plclust(hc2,hang=-1,main = 表1-2 类平均法) rect.hclust(hc2, k=15, border=red) hc3=hclust(d,centroid) #重心法 opar=par(mfrow=c(1,1), mar=c(4,2,2,0.1)) plclust(hc3,hang=-1,main = 表1-3 重心法) rect.hclust(hc3,k=15,border=yellow) hc4=hclust(d,ward) #ward法 opar=par(mfrow=c(1,1), mar=c(4,2,2,0.1)) plclust(hc4,hang=-1,main = 表1-4 ward法) rect.hclust(hc4,k=10,border=green) dist.e=dist(y,method=euclidean) heatmap(as.matrix(dist.e),labRow = F, labCol = F) model1=hclust(dist.e,method=ward) result=cutree(model1,k=15)

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档