前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >聚类,其实就是近朱者赤

聚类,其实就是近朱者赤

作者头像
herain
发布2022-04-27 16:04:43
发布2022-04-27 16:04:43
20900
代码可运行
举报
文章被收录于专栏:数据指象数据指象
运行总次数:0
代码可运行

文章期号:20190604

第二章统计进阶,多元统计:聚类分析

简而言之,聚类分析就是将研究对象(若干个个集合)按照某种标准分成若干类。相似性的度量,参考多种距离计算公式:欧式距离,绝对距离,切氏距离,明氏距离,马距氏离,兰距氏离。你也可以根据研究对象特征自己定义出一种度量相似度的距离公式

1,直奔主题

今天我们主要讨论,通过R工具怎么运用现有的,常用的聚类方法。本文主要结合实际案例,来介绍两种常用的聚类:系统聚类法K均值聚类法

系统聚类法:将10种红酒分类

K均值聚类法:根据31省市的消费数据,将31省市分成4类。

2,系统聚类法:

10种红葡萄酒的分数数据表:

代码语言:javascript
代码运行次数:0
运行
复制
酒 颜色x1 香味x2 酸度x3 甜度x4 纯度x5 果味x6
1  4.65 4.22 5.01 4.50 4.15 4.12
2  6.32 6.11 6.21 6.85 6.52 6.33
3  4.87 4.60 4.95 4.15 4.02 4.11
4  4.88 4.68 4.43 4.12 4.03 4.14
5  6.73 6.65 6.72 6.13 6.51 6.36
6  7.45 7.56 7.60 7.80 7.20 7.18
7  8.10 8.23 8.01 7.95 8.31 8.26
8  8.42 8.54 8.12 7.88 8.26 7.98
9  6.45 6.81 6.52 6.31 6.27 6.06
10 7.50 7.32 7.42 7.52 7.10 6.95

R实现系统聚类计算:

代码语言:javascript
代码运行次数:0
运行
复制
data4.1 <- read.table("eg4.1.txt", header=T)
data4.1
     x1   x2   x3   x4   x5   x6
1  4.65 4.22 5.01 4.50 4.15 4.12
2  6.32 6.11 6.21 6.85 6.52 6.33
3  4.87 4.60 4.95 4.15 4.02 4.11
4  4.88 4.68 4.43 4.12 4.03 4.14
5  6.73 6.65 6.72 6.13 6.51 6.36
6  7.45 7.56 7.60 7.80 7.20 7.18
7  8.10 8.23 8.01 7.95 8.31 8.26
8  8.42 8.54 8.12 7.88 8.26 7.98
9  6.45 6.81 6.52 6.31 6.27 6.06
10 7.50 7.32 7.42 7.52 7.10 6.95
d<-dist(data4.1, method="euclidean", diag=T, upper=F,p=2) #采用欧式距离计算相似性
HC<-hclust(d,method="single") #采用最小距离分聚类
plot(HC)#绘制聚类树状图

结果产出:

如图,如果合并距离为4,则这10种酒可以分为两类:

第一类「6,10,7,8,2,5,9」,

第二类「1,3,4」.


3,K均值聚类法

基本思想是:根据给定参数K,先把n个对象粗略的分为k类,然后按照某种优先原则修改不合理的分类,直至准则函数收敛为止。

根据31个省市的8个方面的消费支出,将31省市分成4类,基于R实现K均值聚类法。

R实现K均值聚类计算:

代码语言:javascript
代码运行次数:0
运行
复制
> read.table(pipe("pbpaste"),sep='\t',header=T)->data
> data
p1 <-data.frame(x1=(data$x1),x2=(data$x2),x3=(data$x3),x4=(data$x4),x5=(data$x5),x6=(data$x6),x7=(data$x7),x8=(data$x8),row.names=(data$X))
> KM<-kmeans(p1,4,nstart=20,algorithm="Hartigan-Wong")
> sort(KM$cluster)
  河北   山西   吉林 黑龙江   江西   河南   贵州   云南   西藏   甘肃   青海   宁夏   新疆   天津   江苏   福建   北京   上海   浙江   广东  内蒙古   辽宁   安徽   山东   湖北   湖南   广西   海南   重庆   四川   陕西 
  1      1      1   1      1      1      1     1      1     1     1      1     1     2      2     2      3     3     3    3      4      4      4     4     4     4      4     4      4     4      4 

如R分类计算可知:

第一类省市:

河北 山西 吉林 黑龙江 江西 河南 贵州 云南 西藏 甘肃 青海 宁夏 新疆

第二类省市:

天津 江苏 福建

第三类省市:

北京 上海 浙江 广东

第四类省市:

内蒙古 辽宁 安徽 山东 湖北 湖南 广西 海南 重庆 四川 陕西

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据指象 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2,系统聚类法:
  • 3,K均值聚类法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档