问题标签 [hdbscan]

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 投票
1 回答
365 浏览

python - 如何使用 GloVe 生成向量矩阵?

我正在使用HDBSCAN算法从我拥有的文档中创建集群。但是要从单词中创建一个向量矩阵,我正在使用tf-idf算法并想使用GloVe。我搜索了帖子,但不明白如何使用这个算法。我还阅读了有关Gensim 的信息,但不明白如何使用它来实现GloVe. 这是我正在做的事情:

正如您在上面的实现中所看到的,我已经将HDBSCANwithtf-idf用于文本聚类。我怎么能GloVe代替tf-idf呢?

0 投票
1 回答
173 浏览

python - 如何知道每个簇标签对应于哪个矩阵行?

在进行聚类之后,我最终得到了一个存储所有聚类标签的对象,如下所示:

以上通常是列表或数组。然后我总是将标签分配给原始的熊猫数据框(数据集),如下所示:

最后我假设每个元素cluster.labels_对应于我原始数据集的每一行,这个假设是否正确?例如,从上面的列创建中,我最终得到如下内容:

0 投票
1 回答
1044 浏览

python - 微调用于聚类文本文档的 hdbscan 参数

我有使用 hdbsca 进行聚类的文本文档。当我有大约 35 个文档的激光量数据和大约 14 个群集的正确值时,然后使用以下参数我得到正确的结果。

现在我只是复制数据,每个文档 100 次。并尝试微调集群,但现在我得到了 36 个集群,每个文档在不同的集群中。我尝试更改不同的参数。但聚类结果没有变化。

非常感谢任何建议或参考。

0 投票
2 回答
1122 浏览

python - 对段落/doc2vec 向量进行聚类时,合适的距离度量是多少?

我的意图是使用 HDBSCAN 对来自 doc2vec 的文档向量进行聚类。我想找到存在语义和文本重复的小簇。

为此,我使用 gensim 生成文档向量。生成的 docvecs 的元素都在 [-1,1] 范围内。

为了比较两个文档,我想比较角度相似度。我通过计算向量的余弦相似度来做到这一点,效果很好。

但是,要对文档进行聚类,HDBSCAN 需要距离矩阵,而不是相似度矩阵。从余弦相似度到余弦距离的原生转换sklearn1-similarity。但是,据我了解,使用此公式可以打破三角不等式,使其无法成为真正的距离度量。在搜索和查看其他人的类似任务的代码时,似乎大多数人似乎都在使用sklearn.metrics.pairwise.pairwise_distances(data, metric='cosine')定义余弦距离的方法1-similarity。看起来它提供了适当的结果。

我想知道这是否正确,或者我是否应该使用角距离,计算为np.arccos(cosine similarity)/pi. 我还看到人们在 l2 归一化文档向量上使用欧几里得距离;这似乎等同于余弦相似度。

请让我知道计算聚类文档向量之间距离的最合适方法是什么:)

0 投票
1 回答
9543 浏览

python - 如何将 sklearn.metrics.pairwise pairwise_distances 与可调用指标一起使用?

我正在做一些行为分析,我会随着时间的推移跟踪行为,然后创建这些行为的 n-gram。

我希望能够对这些 n-gram 进行聚类,但我需要使用自定义指标创建一个预先计算的距离矩阵。我的指标似乎工作正常,但是当我尝试使用 sklearn 函数创建距离矩阵时,出现错误:

我查看了文档https://scikit-learn.org/stable/modules/generated/sklearn.metrics.pairwise_distances.html,关于这个主题并不是特别清楚。

任何熟悉如何正确使用它的人?


完整代码如下:

0 投票
1 回答
343 浏览

snakemake - Snakemake 规则仅针对一个文件运行

我有一个snakemake运行HDBSCAN集群的规则。以前它是正常DBSCAN的并且工作正常,但是在我修改它之后,不知何故问题开始了(我也Snakemake因为其他原因修改了文件,所以很难说是什么原因造成的)。因此,当只运行一个文件HDBSCAN并生成结果时,我开始看到这样的图片。它没有给出错误,只是下一个规则说他们正在等待丢失的文件(不是由运行的规则生成的HDBSCAN)。以下是Snakemake文件相关部分的外观:

以下是dbscan.py外观:

的输入文件rule cluster都存在并且是正确的。不知何故,除了一个之外,所有其他文件都跳过了该规则。

0 投票
0 回答
91 浏览

python - 在 R 中打印 Python 生成的图

我正在执行 HDBSCAN,并正在使用hdbscanR 中的 python 模块执行分析。我有以下代码:

接下来,我想看看浓缩的树状图。用于此的 Python 代码将是:

翻译成R:

该命令的输出是:

AxesSubplot(0.125,0.11;0.31744x0.77)

我可以将所有这些都放在一个 RMarkdown 文件中,使用原始 python,我会得到我想要的情节。但是,这仅在编织整个文件时有效,这可能需要一些时间。特别是当我目前正在通过 HDBSCAN 的不同参数设置时,如果有一种方法可以绘制浓缩树(和其他诊断图)而不必编织整个 RMarkdown 文件,那就太好了。

有人知道我是否/如何在不使用 RMarkdown 的情况下在 R 中绘制 Python 生成的图吗?

RMarkdown 文件示例:

0 投票
1 回答
218 浏览

r - dbscan 中基于密度和阈值的聚类

我正在研究一些工业零件的热温度数据。我有一个带有温度值的部件的像素温度。我想用它dbscan来识别每个部分都有像素簇的部分,其中簇中的所有点都超过了阈值温度。我尝试过使用dbscan但不知道如何使用阈值温度和集群大小作为条件来识别。

我试图仅隔离超过阈值(230)的点,并尝试查看该集群是否超过一定大小。下面的代码:c(1,3)是温度的x,y值,v是温度。

完整的部分视觉: 完整的部分视觉

dbscan使用阈值温度过滤后的输出”:

数据库扫描输出

0 投票
2 回答
334 浏览

hdbscan - 如何在 HDBSCAN 中打印输出结果

我有 ASCII 数据,我需要使用 HDBSCAN 对数据进行聚类。我得到了标签,但我不知道如何打印输出集群结果,即来自 hdbscan 的唯一和隔离结果。

片段:

0 投票
1 回答
378 浏览

r - R 的 HDBSCAN 因大型数据集而崩溃

我试图将 HDBSCAN 算法应用于我的数据集(50000 个 GPS 点)。但是,每次我运行代码时,R 会话都会崩溃。

这是基本信息。关于我的电脑:

这是我的数据框(df)的子集:

这是我的 HDBSCAN 代码:

我试图减少原始数据集中的点数:

这工作正常。

我发现一旦总点数超过 50000,R 就会开始崩溃。有什么解决办法吗?谢谢