2012-11-14 74 views
2

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

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

+0

计算每个聚类的均值以及最近点的平均值。 –

+0

KMedoids的全部重点是质心*是一个对象。因此,必须经过所有的对象才能找到质心并找到最接近的对象因此很差,但如果它是唯一的选择,我想这就是我将要做的。 –

回答

1

关键是您需要找到任何群集中的中位数。你可以通过排序找到中位数,然后取中点,需要O(n lg n)时间。如果您需要查找每个对象插入的中位数,则需要执行online median selection:为所有对象保留两堆,maxheap小于中位数,并为所有对象保留一个大于中位数的分数。对象插入将是O(lg n)时间。