美文网首页
聚类分析

聚类分析

作者: 巴拉巴拉_9515 | 来源:发表于2017-07-03 08:56 被阅读0次
文森特·梵高 :粉红色的桃花树

01、聚类分析

在没有先验知识的情况下,对样本按各自的特性来进行合理的分类
聚类分析:不需要先知道所属类别就可以实现按各自特性的分类

聚类分析有两种主要计算方法,分别是凝聚层次聚类(Agglomerative hierarchical method)和K均值聚类(K-Means)
(1)层次聚类首先要定义样本之间的距离关系,距离较近的归为一类,较远的则属于不同的类。
(2)K均值聚类不需要计算距离,但要求事先给出分类个数

02、iris聚类分析

2.1、层次聚类

ris数据集包含5个方面的信息,为了探索聚类分析,所以采用前4个变量作为模型前期数据,使用species作为聚类模型结果的验证。

数据集

(1)首先提取iris数据中的4个数值变量,然后计算其欧氏距离矩阵。
(2)然后将矩阵绘制热图,从图中可以看到颜色越深表示样本间距离越近·
从图中可以看到颜色越深表示样本间距离越近。大致上可以区分出三到四个区块,其样本之间比较接近。

热力图
data<-iris[,-5]  #删除第五行
dist.e <- dist(data,method='euclidean')  #变量间欧式距离的数据集
heatmap(as.matrix(dist.e),labRow = F, labCol = F)

使用hclust完成数据集的层次聚类,plot函数可以查看聚类结果
使用cutree函数提取每个样本所属的类别

#--------------------------------------------->2、层次聚类模型
#建立聚类模型
model1<-hclust(dist.e,method='ward.D') #采用离差平方和法处理距离
plot(model1) #绘制聚类树图:没什么用的结果
result<-cutree(model1,k=3) #使用cutree函数提取每个样本所属的类别

到此就完成了150个数据的类别划分

层次聚类结果

可视化展现层次聚类结果
setose品种聚类很成功,但有一些virginica品种的花被错误和virginica品种聚类到一起

#------------------------------------------------->3、层次聚类结果展示
#----------------------------------------------------->3.1、MDS降维
mds<-cmdscale(dist.e,k=2,eig=T)
x <- mds$points[,1]
y <- mds$points[,2]
#----------------------------------------------------->3.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))
#setose品种聚类很成功,但有一些virginica品种的花被错误和virginica品种聚类到一起
层次聚类结果

2.2、K均值聚类

使用kmeans函数进行K均值聚类

model2<-kmeans(data,centers=3,nstart=10)
model2$cluster    #model2$cluster可以用来提取每个样本所属的类别
data$type<-model2$cluster
data$id<-rownames(data)

centers参数用来设置分类个数,
nstart参数用来设置取随机初始中心的次数,其默认值为1,但取较多的次数可以改善聚类效果
K均值聚类后,数据集的结果为:

K均值聚类

如果聚类正确的话,圆形点对应红色;三角形对应蓝色;方框对应绿色
K均值聚类setose品种聚类比较好,但有一些virginica品种的花被错误和virginica品种聚类到一起

K均值聚类结果

相关文章

  • 2019-03-07

    聚类分析 单击→聚类分析 (欢迎关注微信公众号:spss学习乐园) 聚类分析 聚类分析:研究如何将样品或变量进行分...

  • 手把手教你用SPSSAU做聚类分析

    聚类分析:聚类分析是通过数据建模简化数据的一种方法。“物以类聚,人以群分”正是对聚类分析最好的诠释。本文就具体介绍...

  • 聚类分析的原理和应用(-)

    本文主要介绍 聚类分析的一些基本概念和原理 聚类分析的方法 聚类分析是在没有指定类别的时候,根据个案(记录)之间的...

  • 利用聚类算法研究大数据微信公众号实例

    聚类分析可以用在APP及网站数据分析、用户画像分析上。 1.什么是聚类分析 聚类分析就是把看得见的实体对象(如桌子...

  • 聚类分析(1)之市场细分

    在市场研究中,聚类分析用的最多的就是细分市场。笔记结合两个问题:聚类分析、市场细分。聚类分析是市场细分的一个统计方...

  • 聚类分析

    1,聚类方法: Python 主要聚类分析方法: 2,聚类分析算法评估 ☉ Purity评估方法 ☉ RI评价法 ...

  • 深入推荐引擎相关算法 - 聚类

    聚类分析 什么是聚类分析? 聚类 (Clustering) 就是将数据对象分组成为多个类或者簇 (Cluster)...

  • 干货合集-聚类分析

    一、聚类分析方法分类 聚类分析方法可分为Q型和R型,如下图: SPSSAU-进阶方法-聚类 SPSSAU-进阶方法...

  • 聚类分析中的空间和距离概念

    聚类分析的意义Cluster Analysis 在经济和社会学研究中,聚类分析是比较常用的多元统计分析方法,是将大...

  • 深入浅出介绍聚类分析

    作者:麦茬道审稿:童蒙编辑:amethyst 聚类分析是生信分析中常用的工具,在转录组分析中经常用到。聚类分析将表...

网友评论

      本文标题:聚类分析

      本文链接:https://www.haomeiwen.com/subject/enhacxtx.html