动态选择聚类中的聚类数[关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态选择聚类中的聚类数[关闭]相关的知识,希望对你有一定的参考价值。

编辑这个问题写的几乎没有集群技术的知识,现在事后看来甚至不符合Stack Overflow网站的标准,但是SO不会让我删除它说其他人有这个(有效点)的投入时间和能量,如果我继续删除,我可能暂时无法提问,所以我正在更新这个问题,使其与其他人可以从中学习的方式相关。它仍然没有严格遵守SO指南,因为我自己会将其标记为太宽泛,但在目前的状态下它没有价值,所以为它增加一点价值将是值得的。

更新的对话主题问题是在聚类算法中选择最佳聚类数,该聚类算法将各种形状分组,这些形状是图像上轮廓检测的输入,然后聚类属性的偏差被标记为噪声或异常,当时提出问题的要点是所有数据集都不同,在它们中获得的形状不同,并且形状的数量也会因数据集到数据集而异。这样做的正确解决方案是使用DBSCAN(基于密度的空间聚类应用程序与噪声)应用程序可以在我当时没有意识到的scikit-learn中找到,该工作现在产品正在测试中,我只是想回到这个并纠正这个老错误。

老问题

旧标题k中k的动态选择意味着聚类

我必须生成一个k-means聚类模型,其中事先不知道类的数量,有没有办法根据聚类内的欧几里德距离自动确定k的值。

我希望它如何工作。以k值开始,执行聚类,查看它是否满足阈值标准并相应地增大或减小k。这个问题是独立于框架的。如果你有一个不同于Python语言的Idea或实现,请分享它。

我在研究https://www.researchgate.net/publication/267752474_Dynamic_Clustering_of_Data_with_Modified_K-Means_Algorithm问题时发现了这一点。我找不到它的实现。

我正在寻找类似的想法来选择最好的并自己实现,或者可以移植到我的代码的实现。

编辑我正在考虑的想法是:

  1. 肘法
  2. X-means聚类
答案

你可以使用肘法。这个方法基本上做的是,它使用各种k值(没有簇),然后计算每个点与其簇中心的距离。在获得一定数量之后,你可以获得任何重大改进,你可以采取k值(没有集群)。

enter image description here

您可以参考进一步阅读this链接。

另一答案

您迭代K的值并使用Silhouette Score检查您的群集有效性

另一答案

您可以遍历任何范围的k值得分。您可以检查每个k值的轮廓分数,也可以计算每个k值的SSE值之间的差异。在0.4 *数量的k值之后,差异最大的是肘点。

以上是关于动态选择聚类中的聚类数[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

用于在 KMeans 聚类中选择适当数量的聚类的轮廓索引

R中的聚类分析:确定最佳聚类数

无监督学习——聚类算法

您使用啥方法来选择 k-means 和 EM 中的最佳聚类数?

聚类算法及Matlab实现

为啥我的spss k均值聚类系统自动选择的初始聚类中心每次都一样