通过R语言对数据进行聚类分析

聚类分析是将数据根据相似特征分类到不同的类或簇,用以对数据进行区分。
1.聚类(K-means)
通过数据中每个数值间的距离进行聚类,是一种纵向聚类,将样本数据据成类型,用以对数据的特征进行区分。
(1)读取数据

data = read.csv("  ")
cludata <- data[complete.cases(data), ]  # 去除重复值数据
str(data)

(2)设置运行结果生成图片查看数据分布

boxplot(data)

(3)设定随机数采用K-means聚类:寻找类中心

set.seed(12345)
clur <- kmeans(x = data, centers =“类中心个数”, nstart = 4)
str(clur)

(4)查看运行的csv文件结果并输出为csv文件

head(clur)
clur$size
clur$centers
write.csv(clur$`cluster`, "cluster.csv")

2.横向聚类
通过对数值对变量进行聚类,判断哪些变量属于相同的类型,理解为横向聚类。谱系聚类包含:最长距离聚类、最短距离聚类、单一聚类、最大似然法聚类。最长距离聚类是指按照变量间的远近程度,进行聚类 ,以某点为基准,距离最远的判断是1类。最短距离聚类,是以某个点为基准,谁离得聚类相同聚为1类。单一聚类,将每个数据点视为一个单一的簇,然后选择一个测量两个簇之间距离的度量标准,进行聚类。最大似然法聚类,运用的最大概似估计,以概率来估计一个变量类属。
(1)读取数据

data = read.csv("路径/文件名.csv")

(2)数据处理转换

r = cor(data)
d <- as.dist(1-r)  

(3)进行谱系聚类

hc1 <- hclust(d, "single"); hc2 <- hclust(d, "complete") 
hc3 <- hclust(d, "median"); hc4 <- hclust(d, "mcquitty") 
opar <- par(mfrow = c(2, 2))
plot(hc1, hang = -1); plot(hc2, hang = -1)
plot(hc3, hang = -1); plot(hc4, hang = -1)
par(opar)
dev.off()
  • 5
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值