本文将详细介绍如何运用R语言进行聚类分析,包括直接从原始数据中聚类和根据距离矩阵进行聚类,并附有聚类结果可视化教程,教程非常详细,即学即用。
距离/不相似矩阵计算
- 加载数据
data(iris)str(iris)
![d4b4796554d3aa1054deba7a5816392e.png](https://i-blog.csdnimg.cn/blog_migrate/06b1d462b2a8fc305725c111d3bd003e.jpeg)
输出
聚类分析是无监督的分类,删除数据中给定原始分类,最后可以将聚类的结果和给定的分类做一个比较,定量地看看聚类的性能怎么样。
iris$Species
- 不相似矩阵计算
不相似矩阵计算,也就是距离矩阵计算,在R中采用 dist()函数,或者 cluster表中的 daisy()函数。 dist()函数的基本形式是:
dist(x, method = "euclidean", diag = FALSE, upper = FALSE, p = 2)
其中 x是数据框(数据集),而方法可以指定为欧式距离 "euclidean", 最大距离 "maximum", 绝对值距离 "manhattan"和明氏距离 "minkowski"等。默认是计算欧式距离,所有的属性必须是相同的类型。比如都是连续类型,或者都是二值类型。
dd
![f3c6f05347800ecbb10d5f09ca10ac8d.png](https://i-blog.csdnimg.cn/blog_migrate/1706eec0ca707cd08f9e2dc54ca7fe6d.jpeg)
输出
距离矩阵可以使用 as.matrix()函数转化为矩阵的形式,方便显示。
dd
![c5af4a7fa132b6dea20c42f58d5399dc.png](https://i-blog.csdnimg.cn/blog_migrate/dccff0c002431a30d43fd34c92b58e7c.jpeg)