如何进行K-medoids

时间:2014-04-17 19:24:24

标签: cluster-analysis data-mining k-means

我已经尝试了很长时间来弄清楚如何在纸上执行K-medoids算法,但是我无法理解如何开始和迭代。例如:

enter image description here

我有6个点之间的距离矩阵,k,C1和C2。

如果有人能告诉我,请告诉我如何在这个例子中执行K-medoids算法,我会很高兴吗?如何开始和迭代?

由于

2 个答案:

答案 0 :(得分:1)

更多细节:

  1. 将K设置为所需的群集数量,让我们使用2。
  2. 随机选择K个实体作为medoids 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. 更新medoids。群集的中心应该是与同一群集内的所有其他实体的距离最小的实体。 X_2将是集群1的新medoid,集群2的X_4。
  5. 现在你要做的就是重复步骤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)。

    现在,如果我使用不同的初始medoids开始这个,也许我会得到一个不同的聚类...你可能希望检查构建算法进行初始化。

答案 1 :(得分:0)

你有C1和C2集群。

  1. 找到每个群集中最核心的元素。

  2. 计算新的C1和C2。

  3. 重复1.和2.直到收敛