问题标签 [k-means]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 使用模糊 c 均值和人工蜂群算法的工作匹配
我必须使用由 ABC 算法优化的模糊 c 均值对作业列表进行聚类。将这些算法一起应用的任何示例?
非常感谢您的帮助...
python - 计算k-means的方差百分比?
在Wikipedia 页面上,描述了一种肘部方法,用于确定 k-means 中的集群数量。scipy 的内置方法提供了一个实现,但我不确定我是否理解他们所说的失真是如何计算的。
更准确地说,如果你绘制集群解释的方差百分比与集群数量的关系图,第一个集群将添加很多信息(解释很多方差),但在某些时候边际增益会下降,给出一个角度图形。
假设我有以下点及其相关的质心,那么计算这个度量的好方法是什么?
我正在专门研究仅给定点和质心来计算 0.94.. 度量。我不确定是否可以使用任何 scipy 的内置方法,或者我必须自己编写。关于如何有效地为大量点执行此操作的任何建议?
简而言之,我的问题(所有相关的)如下:
- 给定距离矩阵和哪个点属于哪个簇的映射,计算可用于绘制肘部图的度量的好方法是什么?
- 如果使用不同的距离函数(例如余弦相似度),该方法将如何变化?
编辑 2:失真
第一组点的输出是准确的。但是,当我尝试不同的设置时:
我猜最后一个值不匹配,因为kmeans
似乎将该值除以数据集中的点总数。
编辑 1:百分比方差
到目前为止我的代码(应该添加到 Denis 的 K-means 实现中):
以下是 k=2 的输出:
在我的真实数据集上(对我来说看起来不对!):
cluster-analysis - Weka 简单的 K-means 聚类分配
我有一个感觉很简单的问题,但我似乎找不到答案。我对 Weka 还很陌生,但我觉得我已经对此进行了一些研究(至少通读了谷歌搜索结果的前几页),然后就干了。
我正在使用 Weka 使用 Simple K-Means 运行集群。在结果列表中,我可以毫无问题地可视化我的输出(“可视化集群分配”),从我对 K-Means 算法的理解和 Weka 的输出来看,我的每个实例最终都会成为一个成员不同的集群(如果你愿意,以特定的质心为中心)。
我可以从文本输出中看到一些集群组成。然而,Weka 没有为我提供从实例编号到集群编号的明确“映射”。我想要类似的东西:
如何在不计算每个项目到每个质心的距离的情况下获得这些结果?
matlab - matlab中的K-means算法
我们如何在 Matlab 中实现 K-means 算法而不使用 kmeans(X,k) 语法?
实际上问题不在于实现算法。请看下图:
我实现了大多数网站提供的算法,例如http://en.wikipedia.org/wiki/Kmeans
我设置了 X 的 4 个观测值(200 个样本),我已经知道这 4 个观测值来自 1 个集群。因此,根据算法,上述图像的聚类是可以解释的,但事实并非如此。我认为 4 个初始值不应该随机选择。
我还运行了一些其他源代码,例如http://people.revoledu.com/kardi/tutorial/kMean/matlab_kMeans.htm。推导出同样的结果。您可以从http://www.4shared.com/get/IfwUEUBD/Observation.html下载我的观察结果并自己查看结果。
algorithm - Bisecting k-means clustering algorithm explanation
I was required to write a bisecting k-means algorithm, but I didnt understand the algorithm. I know k-means algorithm.
Can you explain the algorithm, but not in academic language
Thanks.
matlab - matlab中的k-means内存不足取决于距离函数?
我在一个大而稀疏的矩阵〜(1000000x1000)上使用k-means和matlab。现在这是问题所在 - 使用余弦相似度作为距离函数,我在几分钟内得到“内存不足。为您的选项键入 HELP MEMORY”消息。但是,如果我使用欧几里得距离,它会完美运行(相同的矩阵)。
这有点奇怪,因为距离是成对计算的,每次距离计算只需要一个小的常量内存。
在较小的矩阵(1000x1000,虽然不是那么稀疏)上使用 k-means 时,余弦效果很好。
技术细节:该机器为 64 位,配备 8GB RAM。如果你想尝试:矩阵可以在这里找到(它在 sendspace 上,所以它可以使用几周)。
文件为稀疏格式:[row]\t[column]\t[value]\n
matlab代码:
顺便说一句,关于内存使用差异的任何想法。余弦和欧几里得距离?
关于如何处理它并在大矩阵上实际使用余弦的任何想法?
谢谢!
c++ - OpenCV 在图像上运行 kmeans 算法
我正在尝试在 3 通道彩色图像上运行 kmeans,但每次我尝试运行该函数时,它似乎都会因以下错误而崩溃:
我在下面的代码中包含了一些注释,以帮助指定传入的内容。非常感谢任何帮助。
c - 从 OpenCV 中的 kmeans 数据创建聚类图像
我正在尝试从 kmeans 函数返回的数据创建一个聚类图像。我尝试以类似的方式从 OpenCV 示例中提取数据,但这似乎让我崩溃了。经过一些进一步的研究,我看到有人通过使用这些中心提取了数据,但没有对这些数据做任何事情,所以我的追踪就到此为止了。
我在下面包含了我的代码片段和我在做什么。任何帮助将不胜感激。
编辑 我已经将我的代码恢复到原始状态,没有任何测试变量。上述错误仍然存在。我还在下面添加了一些关于我的图像的调试信息:
图片信息:
- 尺寸:2
- 图像数据:
- 尺寸 0:256
- 尺寸 1:256
- 元素尺寸 1: 12
- 元素尺寸 2: 4
虽然数据为 NULL,但如果我调用cv::imshow
它,我仍然可以查看数据。
cluster-analysis - 如何选择 Canopy 聚类的 T1 和 T2 阈值?
我正在尝试与 K-Means 一起实现 Canopy 聚类算法。我在网上做了一些搜索,说要使用 Canopy 聚类来让您的初始起点输入 K-means,问题是,在 Canopy 聚类中,您需要为 Canopy 指定 2 个阈值:T1 和 T2,其中内部阈值中的点与该树冠密切相关,而较宽阈值中的点与该树冠的相关性较小。这些阈值或距树冠中心的距离是如何确定的?
问题背景:
我要解决的问题是,我有一组数字,例如 [1,30] 或 [1,250],其设置大小约为 50。可以有重复的元素,它们也可以是浮点数,例如as 8, 17.5, 17.5, 23, 66, ... 我想找到最优的簇,或一组数字的子集。
因此,如果使用 K-means 进行 Canopy 聚类是一个不错的选择,那么我的问题仍然存在:您如何找到 T1、T2 值?如果这不是一个好的选择,是否有更好、更简单但有效的算法可供使用?
opencv - OpenCV 的聚类函数 cvKMeans2() - 为什么当我使用中心参数时不起作用
我使用此代码。它应该打印集群标签然后是质心。但是带有质心的“中心”矩阵似乎是空的,充满了零。我的朋友们怎么了?