【问题标题】:finding out the coordinates of centroid of cluster in k-means clustering [duplicate]在k-means聚类中找出聚类质心的坐标[重复]
【发布时间】:2016-05-29 01:07:06
【问题描述】:

我有大量数据。我已经对我的数据实施了 k-means 聚类。它对数据进行聚类并绘制在聚类中具有围绕质心的数据点的图形。

图表如下:

但我想获得打印出的质心的确切 xy 坐标,以便我可以计算任何新数据点与质心的距离,从而找出新数据所属的集群.

[ids ctrs]=kmeans(A,19) D = dist([testpoint;ctrs]) %testpoint 为 1x10,D 为 20x20 [distance testpointID] = min(D(1,2:end)) 我无法理解 [distance testpointID] = min(D(1,2:end)) 的实际作用?请帮帮我!!!

【问题讨论】:

标签: matlab cluster-analysis k-means unsupervised-learning


【解决方案1】:

这是从 Matlab help for the kmeans function

[idx,C] = kmeans(___) % returns the k cluster centroid locations
                      % in the k-by-p matrix C.

这意味着您可以使用两个输出参数调用kmeans。第一个将包含您的点的索引,第二个将包含您正在寻找的质心位置。

【讨论】:

    【解决方案2】:

    如果您使用过 Matlab 函数,则质心是第二个输出参数。但是,如果您自己实现了 K-Means,则必须通过考虑它们的定义来手动评估这些质心。对于给定的集群,质心只不过是与该集群关联的点之间的平均值。
    如果您有分配{point;cluster},您可以轻松评估质心:假设您有一个给定的集群,分配有n 点,这些点是a1,a2,...,an。您可以使用以下方法评估此类集群的质心:

    centroid=(a1+a2+...+an)/n 
    

    【讨论】:

      猜你喜欢
      • 2020-02-21
      • 2018-09-19
      • 1970-01-01
      • 2016-05-29
      • 2021-11-25
      • 2015-06-04
      • 2018-04-27
      • 2022-01-23
      • 2018-07-02
      相关资源
      最近更新 更多