【问题标题】:Centroid of a Cluster - KMedoids簇的质心 - KMedoids
【发布时间】:2012-11-03 00:48:54
【问题描述】:

我正在使用以下 Java-ml 库,具体来说,我正在使用 KMedoids (http://java-ml.sourceforge.net/...) 类对对象进行聚类。

我可以对数据进行聚类,但我想提取每个聚类中的质心对象,我该怎么做?

【问题讨论】:

  • 计算每个聚类的平均值并寻找最接近该平均值的点。
  • KMedoids 的重点在于质心一个对象。因此,必须遍历所有对象才能找到质心并找到最近的对象是很差的,但如果这是唯一的选择,我想这就是我必须做的。

标签: java machine-learning k-means


【解决方案1】:

关键是您需要在任何集群中找到中位数。您可以通过排序然后取中点来找到中值,这需要 O(n lg n) 时间。如果您需要找到每个对象插入的中值,那么您需要做online median selection:保留两个堆,所有小于中值的对象的 maxheap 和大于中值的所有对象的 minheap。对象插入将是 O(lg n) 时间。

【讨论】:

    猜你喜欢
    • 2020-09-24
    • 2012-11-17
    • 2018-08-19
    • 2021-06-13
    • 2013-09-29
    • 2017-10-07
    • 2020-11-20
    • 2017-02-07
    • 2021-03-03
    相关资源
    最近更新 更多