问题标签 [cluster-analysis]

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.

0 投票
2 回答
5574 浏览

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

有许多聚类算法可用。一种流行的算法是 K-means,其中基于给定数量的集群,该算法迭代以找到对象的最佳集群。

您使用什么方法来确定 k-means 聚类中数据中的聚类数?

R 中是否有任何可用的包包含V-fold cross-validation确定正确集群数量的方法?

另一种常用的方法是期望最大化(EM)算法,它为每个实例分配一个概率分布,表明它属于每个集群的概率。

这个算法是在 R 中实现的吗?

如果是,是否可以通过交叉验证自动选择最佳集群数量?

您是否更喜欢其他聚类方法?

0 投票
2 回答
1945 浏览

c++ - 从 Kmeans 中找到每个集群的分布

我正在尝试检测输入向量与给定聚类中心的拟合程度。我可以很容易地找到最佳匹配(与输入向量的欧几里德距离最小的中心是最好的),但是,我现在需要研究匹配的好坏。

为此,我需要找到构成质心的向量的散布(标准差?),然后查看我的输入向量到中心的距离是否小于散布。如果它超过了传播范围,我应该可以说我没有适合它的集群(假设最好的不能很好地适合输入向量)。

我不确定如何找到每个集群的传播。我有所有的中心向量,所有的训练向量都标有它们最近的集群,我只是不能完全理解我需要做什么才能得到传播。

我希望这很清楚?如果没有,我会尝试改写它!蒂亚·伊恩

0 投票
4 回答
37551 浏览

cluster-analysis - “k 均值”和“模糊 c 均值”目标函数有什么区别?

我想看看两者的性能是否可以根据它们所处理的目标函数进行比较?

0 投票
6 回答
3667 浏览

graph - 聚类图可视化技术

我需要可视化具有以下属性的相对较大的图(6K 节点,8K 边):

  • 不同的集群。每个集群大约 50-100 个节点和集群级别的适度互连
  • 最小(每个集群 5-10 个集群间边缘)集群之间的互连

设全局边缘重叠=直接可视化Clusters的图引起的边缘重叠= {A,B,C,D,E},Edges = {那些簇的五角星,顺便说一下是非平面的,肯定会产生边缘直接画出来就重叠}

让 Local Edge Overlap = 以上,但 { A, B, C, D, E } 只是节点。

我需要以满足以下要求的方式使用上述可视化图表

  • 没有全局边缘重叠(即由簇间属性引起的边缘重叠是不行的)
  • 集群内的局部边缘重叠很好

有人对如何最好地可视化具有上述要求的图表有想法吗?

我想出的处理全局边缘重叠的一种解决方案是确保在可视化期间集群 A 最多只能有 1 个直接边缘到另一个集群 (B)。集群 A -> C, A -> D, ... 之间的任何其他集群间边都断开连接,并且其他节点/边 A -> A_C, C -> C_A, A -> A_D, D -> D_A...被创建。

有人有什么想法吗?

0 投票
2 回答
8075 浏览

java - agglomerative clustering java

Is there any java file that I can use to perform "agglomerative clustering" Result should provide me every level nodes id help.................

0 投票
3 回答
22161 浏览

python - 重新排序矩阵元素以反映朴素python中的列和行聚类

我正在寻找一种在矩阵行和列上分别执行聚类的方法,重新排序矩阵中的数据以反映聚类并将它们放在一起。聚类问题很容易解决,树状图的创建也很容易解决(例如在这个博客“编程集体智能”中)。但是,我仍然不清楚如何重新排序数据。

最终,我正在寻找一种使用朴素 Python(使用任何“标准”库,如 numpy、matplotlib 等,但不使用 R或其他外部工具)创建类似于以下图形的方法。

树状图
(来源:warwick.ac.uk

澄清

有人问我重新排序是什么意思。当您首先按矩阵行,然后按其列对矩阵中的数据进行聚类时,可以通过两个树状图中的位置来识别每个矩阵单元。如果您对原始矩阵的行和列重新排序,使得树状图中彼此接近的元素在矩阵中彼此接近,然后生成热图,则数据的聚类可能对查看者来说变得明显(如上图)

0 投票
1 回答
618 浏览

java - 扩展 Java 应用程序 - 现有的集群感知 IoC 框架?

大多数人使用某种 IoC 框架——Guice、Spring 等等。我们中的许多人也需要扩展他们的应用程序,因此他们使用 Terracotta、Glassfish/JBoss/insertyourfavouritehere 集群使他们的生活变得复杂。

但这真的是要走的路吗?您是否使用上述任何一种?

以下是我们目前在尚未开源的框架中实现的一些想法,我想看看您对此有何看法,或者“它完全是 XY 的翻版!”。

  • 集群范围的对象复制——给它一个名字,每当你在这样一个对象上做某事(在任何节点上)时,它都会被复制——有不同的保证
  • 做透明的软负载平衡 - 最简单的场景:restful webservice 方法调用代理到另一个节点
  • 仅查看节点注入:向“命名”对象注入代理,并将您的调用自动代理到节点

你会用这样的东西吗?是否有当前、稳定、企业就绪的实施方案?

0 投票
4 回答
1930 浏览

python - Python KMeans 聚类词

我有兴趣在距离度量为 Leveshtein 的单词列表上执行 kmeans 聚类。

1)我知道那里有很多框架,包括 scipy 和 orange 有一个 kmeans 实现。然而,它们都需要某种向量作为不适合我的数据。

2)我需要一个好的集群实现。我查看了 python-clustering 并意识到它没有 a) 返回到每个质心的所有距离的总和,并且 b) 它没有任何类型的迭代限制或截断,以确保聚类的质量。python-clustering 和 daniweb 上的聚类算法并不适合我。

有人能帮我找到一个好的库吗?谷歌不是我的朋友

0 投票
2 回答
256 浏览

python - python并行计算:拆分键空间为每个节点提供一个工作范围

我的问题对我来说解释起来相当复杂,因为我不是很擅长数学,但我会尽量讲清楚。

我正在尝试在python中编写一个集群,它将生成给定字符集的单词(即小写:aaaa、aaab、aaac、...、zzzz)并对它们进行各种操作。我正在搜索如何计算,给定字符集和节点数,每个节点应该在什么范围内工作(即:node1:aaaa-azzz,node2:baaa-czzz,node3:daaa-ezzz,...)。是否有可能制作一个可以计算它的算法,如果是,我怎么能在 python 中实现它?

我真的不知道该怎么做,所以任何帮助将不胜感激

0 投票
1 回答
3512 浏览

python - Scipy.cluster.hierarchy.fclusterdata + 距离测量

1)我正在使用 scipy 的 hcluster 模块。

所以我可以控制的变量是阈值变量。我如何知道每个阈值的表现?即在 Kmeans 中,这个性能将是所有点到它们的质心的总和。当然,这必须进行调整,因为通常更多的集群 = 更小的距离。

有没有我可以用 hcluster 做的观察?

2)我意识到有大量可用于 fclusterdata 的指标。我正在基于关键术语的 tf-idf 对文本文档进行聚类。交易是,一些文档比其他文档长,我认为余弦是“规范化”这个长度问题的好方法,因为文档越长,它在 n 维字段中的“方向”应该保持不变,如果他们内容一致。有人可以建议其他方法吗?我该如何评价?

谢谢