首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何评估HDBSCAN文本聚类?

如何评估HDBSCAN文本聚类?
EN

Stack Overflow用户
提问于 2019-08-06 13:48:46
回答 3查看 2.9K关注 0票数 2

我目前正在尝试使用HDBSCAN来集群电影数据。其目标是将类似的电影聚在一起(基于关键字、类型、演员名称等电影信息),然后将LDA应用于每个集群并获得具有代表性的主题。然而,我很难评估结果(除了视觉分析,这不是很好的数据增长)。对于LDA,虽然很难评估,但我一直在使用一致性度量。但是,有没有人知道如何评估HDBSCAN的集群呢?我还没有找到更多的信息,所以如果有人有任何想法,我会非常感激!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-08-06 20:27:44

在没有监督的学习中,到处都存在同样的问题。

它是没有监督的,你试图发现一些新的和有趣的东西。计算机无法决定什么是真正有趣的还是新的。当先验知识已经以机器可处理的形式编码时,它可以决定和琐碎的情况,并且您可以计算一些启发式值作为兴趣度的代理。但是,这样的度量(包括基于密度的度量,比如DBCV )实际上不能比聚类算法本身选择“最佳”解决方案更好地判断这一点。

但是最后,没有办法绕过手动查看数据,并执行接下来的步骤--尝试使用您所了解的数据。据推测,你并不是只因为试图弥补另一种无用的方法就这么做的复古塔学者.所以使用它,不要假装使用它。

票数 1
EN

Stack Overflow用户

发布于 2019-08-09 21:39:12

HDBSCAN在称为基于密度的聚类验证的方法中实现了效度。它将允许您将使用给定的一组超参数获得的一个聚类与另一个聚类进行比较。一般来说,请阅读关于聚类分析聚类验证的文章。下面是与HDBSCAN库的作者对此进行了很好的讨论。

票数 3
EN

Stack Overflow用户

发布于 2020-06-18 19:29:47

您可以尝试clusteval库。这个库可以帮助您找到数据集中的最佳集群数,这也适用于hdbscan。当您有集群标签时,您可以使用hnet开始充实分析。

代码语言:javascript
复制
pip install clusteval
pip install hnet

示例:

代码语言:javascript
复制
# Import library
from clusteval import clusteval
# Set the method
ce = clusteval(method='hdbscan')
# Evaluate
results = ce.fit(X)
# Make plot of the evaluation
ce.plot()
# Make scatter plot using the first two coordinates. 
ce.scatter(X)

因此,此时您有了最佳的检测到的集群标签,现在您可能想知道,在元数据中是否存在一个(一组)特性的集群之间的关联。这样做的目的是为每个集群标签计算其在元数据中的特定类的出现频率。这可以用P值来定义.P值越低(低于alpha=0.05),随机机会发生的可能性就越小.

结果是一个dict,包含labx键中最优的集群标签。利用hnet,我们可以很容易地计算富集。更多信息可以在这里找到:https://erdogant.github.io/hnet

代码语言:javascript
复制
# Import library
import hnet

# Get labels
clusterlabels = results['labx']

# Compute the enrichment of the cluster labels with the dataframe df
enrich_results = hnet.enrichment(df, clusterlabels)

当我们查看enrich_results时,有一个带有category_label的列。这些是我们作为输入提供的dataframe的元数据变量。第二列:P代表P-值,这是目标变量y的catagory_label的计算意义。在这种情况下,目标变量y是簇标签。

y中的目标标签可以比一次更丰富。这意味着某些y对数据文件中的多个变量进行了丰富。这可能会发生,因为我们可能需要更好地估计集群标签,或者它是一个混合组或其他什么东西。

有关集群富集的更多信息可以在这里找到:https://erdogant.github.io/hnet/pages/html/Use%20Cases.html#cluster-enrichment

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57377594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档