如何执行K-medoid [英] how to perform K-medoids

查看:0
本文介绍了如何执行K-medoid的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我花了很长时间试图弄清楚如何(在纸上)执行K-medoids算法,但我不能理解如何开始和迭代。例如:

我有6个点、k、c1和c2之间的距离矩阵。

如果有人能教我如何在这个例子上执行K-medoid算法,我会很高兴的。如何开始和迭代?

谢谢

推荐答案

更多细节:

  1. 将K设置为所需的簇数,让我们使用2。
  2. 随机选择K个实体作为中间体m_1、m_2。让我们选择X_3(让我们称之为簇1)和X_5(簇2)。
  3. 将给定实体分配给由其最接近的medoid表示的集群。簇1将由实体(X_1、X_2、X_3)组成,只需检查您的表,这些实体更接近X_3,而不是X_5),簇2将是(X_4、X_5、X_6)。
  4. 更新medoid。簇的拟阵应该是到同一簇内的所有其他实体的距离总和最小的实体。X_2将成为群集1的新medoid,X_4将成为群集2的新medoid。
现在您要做的是重复步骤3-4,直到收敛。所以,

5-将每个实体指定给最接近的medoid的簇(现在是X_2和X_4)。簇1现在由实体(X_1、X_2、X_3和X_6)组成,簇2将是(X_4、X_5)。 (每个群集中的实体都发生了更改,因此迭代必须继续。

6-簇1中距离和最小的实体仍然是X_2,在簇2中它们是相同的,因此X_4保持不变。

另一个迭代

7-由于中间面没有变化,因此簇将保持不变。这意味着是时候停止迭代了

输出:2个集群。群集%1具有实体(X_1、X_2、X_3、X_6),群集%2具有实体(X_4和X_5)。

现在,如果我使用不同的初始medoid开始这项工作,也许我会得到不同的集群...您可能希望检查用于初始化的构建算法。

这篇关于如何执行K-medoid的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆