Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv Kmeans2根据它们对应的数据点数量返回有序质心列表_Opencv_Cluster Analysis - Fatal编程技术网

Opencv Kmeans2根据它们对应的数据点数量返回有序质心列表

Opencv Kmeans2根据它们对应的数据点数量返回有序质心列表,opencv,cluster-analysis,Opencv,Cluster Analysis,我正在某些数据集上使用Opencv Kmeans2()聚类函数。实际上,簇质心是从随机初始化开始的。然后进行聚类 我如何以一定的顺序请求所有这些质心,比如说,首先是数据集最大块的cetroid,然后是下一个(按降序,假设多维空间中没有相等的不同点位置集),等等?为什么不按自己的喜好对它们进行排序 对于大多数简历申请来说,这是不必要的,我想你自己也可以很容易地做到。这并不是说有一个优化的k-means以特定的顺序返回集群。由于k-means是随机初始化的,所以并没有集群的“自然”顺序。正如您已经注

我正在某些数据集上使用Opencv Kmeans2()聚类函数。实际上,簇质心是从随机初始化开始的。然后进行聚类


我如何以一定的顺序请求所有这些质心,比如说,首先是数据集最大块的cetroid,然后是下一个(按降序,假设多维空间中没有相等的不同点位置集),等等?

为什么不按自己的喜好对它们进行排序


对于大多数简历申请来说,这是不必要的,我想你自己也可以很容易地做到。这并不是说有一个优化的k-means以特定的顺序返回集群。由于k-means是随机初始化的,所以并没有集群的“自然”顺序。正如您已经注意到的,在簇分配和簇大小方面可能存在联系。

我计划统计标签,看看质心簇中的哪一个属于大部分数据集。

如果您能稍微解释一下您的问题,可能会提供额外的细节,如代码,结果你得到了什么,你期望什么等等,对吧。。。假设我有100个样本,我随机指定了3个集群。。。。但我事先知道一个标签有50个样品,另一个标签有30个,另一个标签有20个。我如何要求50个样本的质心,30个,20个,按这个顺序?(我不确定我是否正确回答了你的问题)如果你事先知道它们,为什么要应用kmeans?你可以直接将它们分组,然后手动找到它们的质心。因为我不知道它们的位置。。。我所知道的只是“大量存在,另一个类似的存在等等”。。。考虑下面的例子:一个前景和背景的图像…我知道bg像素越多,fg像素越少。Runnig聚类将给出两个质心。如何使用cvkmeans2按以下顺序请求质心:bg first和fg second。。。是否有一个层次结构,它们存储在中心矩阵中?我认为没有层次结构或顺序。无法计数标签并根据其编号进行排序吗?计算0和1的数量。如果0是更多的,0是bg(因为你知道bg是更多的),1是fg。好的,所以我只想返回最大簇的质心…然后是下一个,依此类推,试着这样做。没那么难。但我怀疑OpenCV k-means是否将其作为内置函数,因为这不是常见或通用的用例。