在大学课程中,我有一些图像功能(作为文本文件)。我必须根据他们的多样性对这些图像进行排名。#
我想到的想法是用图像提供k-means分类器,然后计算从簇内图像到簇的centroïd的欧几里德距离。然后在群集之间进行旋转,并始终将(下一个)最近的图像带到centroïd。即,返回最接近centroïd1,然后最接近centroïd2,然后3 ....然后第二个最接近centroïd1,2,3,依此类推。
第一个问题:这会是一个聪明的方法吗?或者我走错了路?
第二个问题:我有点困惑。我以为我会把数据提供给Weka,它会告诉我“嘿,如果我是你,我会将这些数据分成7个簇”,或类似的东西。我的意思是,它能够给我一些关于我需要的集群的信息。相反,要使用simplekmeans,我应该先了解我将使用多少个集群......我怎么可能知道呢?
我的意思的一个例子:假设我有3张单色图像:浅蓝色,蓝色,红色。 我以为Weka会注意到2个蓝调是相似的并将它们聚集在一起。
顺便说一下,我是Weka的新手(你可能已经看过了),所以如果你能提供一些关于我想要使用哪些函数的信息(以及为什么:P),我将不胜感激! 谢谢!
答案 0 :(得分:2)
简单K-means - 是一种算法,您必须在数据集中指定多个可能的聚类。
如果你不知道可能有多少个集群,最好是获得不同的算法或找出一些集群。
您可以使用 X-means - 您无需指定 k 参数。 (http://weka.sourceforge.net/doc.packages/XMeans/weka/clusterers/XMeans.html)
X-Means是由改进结构部分扩展的K-Means在算法的这一部分中,试图在其区域中分割中心。每个中心的孩子和他们自己之间的决定是比较两个结构的BIC值。
或者您可以观察基于AHC的切割点图 - 层次聚类算法(https://en.wikipedia.org/wiki/Hierarchical_clustering) 然后扣除一些集群