从 Kmeans 中找到每个集群的分布
Posted
技术标签:
【中文标题】从 Kmeans 中找到每个集群的分布【英文标题】:Finding the spread of each cluster from Kmeans 【发布时间】:2011-01-20 04:57:22 【问题描述】:我正在尝试检测输入向量与给定聚类中心的拟合程度。我可以很容易地找到最佳匹配(到输入向量的欧几里得距离最小的中心是最好的),但是,我现在需要研究匹配的好坏。
为此,我需要找到构成质心的向量的散布(标准差?),然后查看我的输入向量到中心的距离是否小于散布。如果它超出了传播范围,我应该可以说我没有适合它的集群(假设最好的不能很好地拟合输入向量)。
我不确定如何找到每个集群的分布。我有所有的中心向量,所有的训练向量都标有它们最近的集群,我只是不能完全理解我需要做什么才能得到传播。
我希望这很清楚?如果没有,我会尝试改写它! TIA 伊恩
【问题讨论】:
【参考方案1】:使用距离函数并计算从您的中心点到每个标记点的距离,然后计算出这些距离的平均值。那应该给你标准偏差。
【讨论】:
【参考方案2】:如果您切换到使用不同的算法,例如高斯混合,您会得到 spread(例如,标准偏差)作为模型的一部分(聚类结果)。
http://home.deib.polimi.it/matteucc/Clustering/tutorial_html/mixture.html
http://en.wikipedia.org/wiki/Mixture_model
【讨论】:
以上是关于从 Kmeans 中找到每个集群的分布的主要内容,如果未能解决你的问题,请参考以下文章
使用 Spark MLlib KMeans 从数据中预测集群