k-medoids聚类算法与最优簇数确定方法详解
1. k-medoids聚类算法简介
k-medoids是一种用于在数据集中寻找自然分组的聚类算法,它与k-means聚类算法非常相似,但也存在一些差异。k-medoids聚类算法的优化函数与k-means略有不同。
1.1 PAM算法步骤
Partitioning Around Medoids(PAM)是执行k-medoids聚类最简单且最有效的算法,其寻找簇中心的步骤如下:
1. 从散点图中选择k个数据点作为簇中心的起始点。
2. 计算这些起始点与散点图中所有点的距离。
3. 将每个点分类到其距离最近的簇中心所在的簇中。
4. 在每个簇中选择一个新的点,使得该簇中所有点到该点的距离之和最小。
5. 重复步骤2,直到簇中心不再变化。
与k-means聚类算法相比,PAM算法仅在步骤1和步骤4有所不同。在大多数实际应用中,k-medoids聚类和k-means聚类的结果几乎相同,但在数据集中存在离群值的特殊情况下,k-medoids聚类更受青睐,因为它对离群值更具鲁棒性。
1.2 k-medoids聚类代码实现
以下是使用R语言的预建库进行k-medoids聚类的代码示例:
# 1. 存储iris数据集的前两列到iris_data变量
iris_data<-iris[,1:2]
# 2. 安装cluster包
install.packages("cluster")
# 3. 导入cluster包
library("cluster")
#
k-medoids与最优簇数方法详解
超级会员免费看
订阅专栏 解锁全文
240

被折叠的 条评论
为什么被折叠?



