问题标签 [hierarchical-clustering]

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 投票
5 回答
7530 浏览

algorithm - 分布式层次聚类

是否有任何算法可以帮助进行层次聚类?Google 的 map-reduce 只有一个 k-clustering 的例子。在层次聚类的情况下,我不确定如何在节点之间划分工作。我发现的其他资源是:http: //issues.apache.org/jira/browse/MAHOUT-19 但是使用了哪些算法并不明显。

0 投票
3 回答
3420 浏览

tags - 标签层次结构和处理

这是一个真正的问题,通常适用于标记项目(是的,这也适用于 StackOverflow,不,这不是关于 StackOverflow 的问题)。

整个标记问题有助于聚集相似的项目,无论它们可能是什么项目(笑话、博客文章、问题等)。但是,存在(通常但不严格)标签的层次结构,这意味着某些标签也暗示其他标签。举一个熟悉的例子,“c#”so 标签也暗示“.net”;另一个例子,在笑话数据库中,“金发女郎”标签暗示“嘲讽”标签,类似于“爱尔兰”或“比利时”或“加拿大”等,具体取决于笑话的国家/地区。

如果你有,你是如何在你的项目中处理这个问题的?我将提供一个答案,描述我在两个不同案例中使用的两种不同方法(实际上,相同的机制但在两个不同的环境中实现),但我不仅对类似的机制感兴趣,而且对你对层次结构问题的看法也感兴趣.

0 投票
3 回答
3170 浏览

machine-learning - 从图像中提取主要/最常用的颜色

我想提取图像中最常用的颜色,或者至少是主色调你能推荐我如何开始这项任务吗?或指向我类似的代码?我一直在寻找它,但没有成功。

0 投票
1 回答
1660 浏览

oop - Matlab生物信息学工具箱中clustergram如何使用其他聚类方法

编辑:我想通了。只是没看懂符号。

你好,

希望有人熟悉生物信息学工具箱中的簇图。我对函数的图形方面(树状图/热图)感兴趣,但目前我有障碍,因为它需要我使用 Matlab 的 cluster() 函数。我更愿意使用我的个人算法进行聚类,然后让 Matlab 为我可视化。

我已经搜索了代码,但是对于一般的面向对象编程,尤其是 Matlab 的版本,我一无所知。因此,我所知道的只是函数调用了“obj = obj.getclusters”这一行,但不知道如何对其进行编辑,以便我使用自己的聚类算法而不是 Matlab 的。

任何帮助表示赞赏!

编辑:我正在专门研究一种新算法,因此我不需要 pdist 或链接。树状图是在 clustergram 函数之外计算的。我用来创建树状图/热图的只是 clustergram 函数。我的生物信息学工具箱是 3.3 版

真的,我在这里寻找的只是'obj = obj.getclusters;'到底做了什么 做?我不是程序员,对 OO 真的不熟悉。对我来说,这看起来就像我们神奇地拥有集群,因为没有函数调用。这是在 clustergram() 的第 304 行

0 投票
1 回答
633 浏览

r - r中具有多个个体的聚类分析

抱歉,我不知道如何使用 HTML 或其他任何东西来真正让它看起来“漂亮”。特别是为了让我的示例数据对大家有用。我只是边走边学。

我正在尝试对变量 PersVel、TurnVel 和 Velocity(可能还有其他变量,但这些暂时可用)进行聚类分析。我的数据已经按年份分开,但我每年有不同数量的人(ID 是这些人的名称)。我想对每个个体的这些变量运行 k-means 和/或层次聚类分析。下面的数据只有20个数据点。一旦通过感兴趣的变量确定了集群,我想将其链接回日历日期或日期/时间变量。最终我想知道集群何时发生。

我已经编写了将 ID 转换为级别的代码,并被告知我需要标准化 k-means 聚类的变量(所以我假设你会为分层做同样的事情,但这没什么大不了的)。只是如何让它循环通过个人?

怎么办???我如何写下一部分来做这个测试?

0 投票
2 回答
1422 浏览

algorithm - 分层聚类启发式

我想探索大数组中数据项之间的关系。每个数据项由多维向量表示。首先,我决定使用集群化。我有兴趣找到集群(数据向量组)之间的层次关系。我能够计算我的向量之间的距离。所以第一步我找到了最小的生成树。之后,我需要根据生成树中的链接对数据向量进行分组。但是在这一步我很不安——如何将不同的向量组合成层次聚类?我正在使用启发式方法:如果两个向量相连,并且它们之间的距离非常小 - 这意味着它们在同一个簇中,如果两个 wectors 链接但它们之间的距离大于阈值 - 这意味着它们在具有共同根簇的不同簇中

但也许有更好的解决方案?

谢谢

PS 谢谢大家!

事实上,我尝试使用 k-means 和 CLOPE 的一些变体,但没有得到好的结果。

所以,现在我知道我的数据集的集群实际上具有复杂的结构(比 n 球体复杂得多)。

这就是为什么我想使用层次聚类。另外我猜集群看起来像 n 维连接(如 3d 或 2d 链)。所以我使用单链接策略。但是我很困扰 - 如何将不同的集群相互组合(在什么情况下我必须制作共同的根集群,在什么情况下我必须将所有子集群组合在一个集群中?)。我正在使用这样简单的策略:

  • 如果集群(或向量)彼此太接近 - 我将它们的内容组合成一个集群(由阈值调节)
  • 如果集群(或向量)彼此相距太远 - 我正在创建根集群并将它们放入其中

但是使用这种策略,我得到了非常大的簇树。我试图找到令人满意的阈值。但也许有更好的策略来生成集群树?

这是一张简单的图片,描述了我的问题:

在此处输入图像描述

0 投票
3 回答
2907 浏览

r - 如何标记切割树状图的终端节点?

我使用以下代码在特定高度切割树状图。我遇到的问题是,当我切割树状图时,我无法弄清楚如何向节点添加标签。如何切割带有标签的树状图使用 R 程序?

0 投票
2 回答
1927 浏览

google-maps - 具有超过 100 万个标记的地图,以高缩放级别发布

语境:

带有 100 万个标记(带有纬度/经度的对象)的谷歌地图要显示。我们使用 Fluster 2 进行聚类。

对于缩放级别 11 到 21(假设有 21 个缩放级别,并且 21 是最接近地面的),聚类标记(创建聚类标记)的计算时间很好。

我遇到的问题:

缩放 11 后(当用户从​​地面缩小时),聚集聚类正在减慢。考虑到标记的数量,大约 1,000,000,我需要快速计算方法或周转。

顺便说一句,我对商业解决方案不感兴趣。

0 投票
4 回答
21515 浏览

python - 如何在 scipy 创建的树状图中获得与颜色簇相对应的平面聚类

使用此处发布的代码,我创建了一个不错的层次聚类:

scipy 树状图

假设左侧的树状图是通过执行类似的操作创建的

现在如何获得每个彩色集群成员的索引? 为了简化这种情况,忽略顶部的聚类,只关注矩阵左侧的树状图。

此信息应存储在树状图Z存储变量中。有一个函数应该做我想要的调用fcluster(请参阅此处的文档)。但是,我看不到在哪里可以提供cutoff与创建树状图时指定的 fcluster 相同的位置。似乎 , 中的阈值变量fcluster必须t根据各种模糊的测量值 ( inconsistent, distance, maxclust, monocrit)。有任何想法吗?

0 投票
1 回答
1083 浏览

algorithm - 位序列的层次聚类

这是一个家庭作业问题,我在理解它时遇到了一些困难。家庭作业问题是

我在一本书中读到,最初我必须将所有这些都视为集群,然后开始合并最接近的集群。将形成一个新的集群。现在,我必须通过计算这个新集群和其他集群之间的距离来找到最接近这个新形成的集群的集群,方法是平均两个集群中每个元素之间的距离,如问题中所述。

我的解决方案:我会找到所有对之间的汉明距离,并选择至少有一个是 C3 和 C5 的一对(汉明距离为 2)。现在可以将其合并到一个新的集群中。

我关心的是在这里合并到底是什么意思?我该怎么做?或者只是我将它们保持原样并将其命名为新集群?

以及如何找到新集群的每个元素与其他集群的平均距离?

还要计算平均值,给出的公式表示除以 |C1| 和 |C2|。那么,这是否意味着我必须在此处除以元素的数量(每组 8 乘以它合并到的集群?)

任何帮助是极大的赞赏。谢谢你。