首页
 师范类专业认证
 单位概况
 单位介绍
 领导班子
 院长
 副院长
 副院长
 职能部门
 办公室
 教育评价数智中心
 基础教育评估所
 职业教育与成人教育评估所
 高等教育评估所
 教育质量监测中心
 教育综合评估所
 教育评价改革办公室
 学术组织
 教育部教育评价改革研究基地办公室
 重庆市基础教育评价研究中心
 重庆市家校社共育评估监测中心
 经合组织国际学校评价研究中心
 重庆市中等职业技术教育质量监测中心
 重庆市研究生联合培养基地
 重庆市“一带一路”教育评价中心
 重庆市教师评价研究中心
 重庆市教育评估院学术委员会
 编辑部
 挂牌机构
 重庆市“一带一路”教育评价中心
 重庆职业技术教育质量监测中心
 重庆市家庭教育监测中心
 重庆市研究生联合培养基地
 经合组织国际学校评价研究中心
 联盟组织
 中泰职教联盟
 评估纪实
 历史回顾
 办公场景
 党建工作
 党建要闻
 党建动态
 党风廉政
 党纪学习
 主题教育
 党员活动
 教育评估
 基础教育评估
 职成教育评估
 高等教育评估
 综合教育评估
 教育认证
 高职专业认证
 高职课程认证
 国际课程认证
 民办学校认证
 教育监测
 学前教育质量监测
 基础教育质量监测
 职业教育质量监测
 高等教育质量监测
 家校共育质量监测
 学术研究
 研究动态
 要报·专报·报告
 教育评估与监测杂志
 标准建设
 成果展示
 成果宣传视频
 成果有关的论文全文(32篇)
 成果有关专著及教材的关键信息(16部)
 学术事务
 组织机构
 政策制度
 研讨交流
 合作交流
 国际合作交流
 港澳台合作交流
 云生分享
 资料下载
 教育评价改革典型案例

[转载]R语言多元分析系列:聚类分析

      类分析(Cluster Analysis)是根据“物以类聚”的道理,对样品或指标进行分类的一种多元统计分析方法,它是在没有先验知识的情况下,对样本按各自的特性来进行合理的分类。

           聚类分析被应用于很多方面,在商业上,聚类分析被用来发现不同的客户群,并且通过购买模式刻画不同的客户群的特征;在生物上,聚类分析被用来动植物分类和对基因进行分类,获取对种群固有结构的认识;在因特网应用上,聚类分析被用来在网上进行文档归类来修复信息。

            聚类分析有两种主要计算方法,分别是凝聚层次聚类(Agglomerative hierarchical method)和K均值聚类(K-Means)。

     

    一、层次聚类

           层次聚类又称为系统聚类,首先要定义样本之间的距离关系,距离较近的归为一类,较远的则属于不同的类。可用于定义“距离”的统计量包括了欧氏距离(euclidean)、马氏距离(manhattan)、 两项距离(binary)、明氏距离(minkowski)。还包括相关系数和夹角余弦。

          层次聚类首先将每个样本单独作为一类,然后将不同类之间距离最近的进行合并,合并后重新计算类间距离。这个过程一直持续到将所有样本归为一类为止。在计算类间距离时则有六种不同的方法,分别是最短距离法、最长距离法、类平均法、重心法、中间距离法、离差平方和法。

          下面我们用iris数据集来进行聚类分析,在R语言中所用到的函数为hclust。首先提取iris数据中的4个数值变量,然后计算其欧氏距离矩阵。然后将矩阵绘制热图,从图中可以看到颜色越深表示样本间距离越近,大致上可以区分出三到四个区块,其样本之间比较接近。

    data=iris[,-5]dist.e=dist(data,method=;euclidean;)heatmap(as.matrix(dist.e),labRow = F, labCol = F)

          然后使用hclust函数建立聚类模型,结果存在model1变量中,其中ward参数是将类间距离计算方法设置为离差平方和法。使用plot(model1)可以绘制出聚类树图。如果我们希望将类别设为3类,可以使用cutree函数提取每个样本所属的类别。

           model1=hclust(dist.e,method=;ward;)result=cutree(model1,k=3)为了显示聚类的效果,我们可以结合多维标度和聚类的结果。先将数据用MDS进行降维,然后以不同的的形状表示原本的分类,用不同的颜色来表示聚类的结果。可以看到setose品种聚类很成功,但有一些virginica品种的花被错误和virginica品种聚类到一起。

    mds=cmdscale(dist.e,k=2,eig=T)x = mds$points[,1]y = mds$points[,2]library(ggplot2)p=ggplot(data.frame(x,y),aes(x,y))p geom_point(size=3,alpha=0.8,             aes(colour=factor(result),shape=iris$Species))

     

    二、K均值聚类

           K均值聚类又称为动态聚类,它的计算方法较为简单,也不需要输入距离矩阵。首先要指定聚类的分类个数N,随机取N个样本作为初始类的中心,计算各样本与类中心的距离并进行归类,所有样本划分完成后重新计算类中心,重复这个过程直到类中心不再变化。

           在R中使用kmeans函数进行K均值聚类,centers参数用来设置分类个数,nstart参数用来设置取随机初始中心的次数,其默认值为1,但取较多的次数可以改善聚类效果。model2$cluster可以用来提取每个样本所属的类别。

           model2=kmeans(data,centers=3,nstart=10)使用K均值聚类时需要注意,只有在类的平均值被定义的情况下才能使用,还要求事先给出分类个数。一种方法是先用层次聚类以决定个数,再用K均值聚类加以改进。或者以轮廓系数来判断分类个数。改善聚类的方法还包括对原始数据进行变换,如对数据进行降维后再实施聚类。

           cluster扩展包中也有许多函数可用于聚类分析,如agnes函数可用于凝聚层次聚类,diana可用于划分层次聚类,pam可用于K均值聚类,fanny用于模糊聚类。

     


重庆市教育评估院 重庆市基础教育质量监测中心

电话传真:023-67715619 电子邮箱:cqspgy@126.com

地址:重庆市江北区欧式一条街兴隆路20号 邮编:400020