如何在没有基本事实的情况下评估社区检测

Posted

技术标签:

【中文标题】如何在没有基本事实的情况下评估社区检测【英文标题】:How to evaluate community detection without ground truth 【发布时间】:2019-04-15 12:47:37 【问题描述】:

我已经在图表上执行了社区检测,并想从多个方面评估我的算法有多好。

现在我有起始图和代表提取社区的节点列表。我没有关于这些社区实际上是什么的基本事实。

我知道模块化是评估我的算法的一个很好的指标。我想知道是否还有其他方法(如果知道这些方法的代码存在于何处,则奖励)

谢谢!

【问题讨论】:

【参考方案1】:

模块化确实是一种广泛使用的衡量标准,并且在您如何定义图表和社区方面有很多不同的扩展;例如,您的图是有向图还是无向图,以及您的社区是不同的还是重叠的。还有一些关于模糊隶属度的模块化指标。

但模块化将聚类与其他随机生成的图进行比较。关于度量模块化有多好,一般存在一些争论。(请参阅 Fortunato 2010)。

我认为社区善的一个模型免费证据是一个类似的论点,但从密度的角度来看。关于社区存在的一个主要论点是,集群内部比跨集群连接更密集。因此,换句话说,您可以查看社区内链接的密度,并与从社区到外部的链接进行比较。如果您将网络级别的密度称为 d,在特定集群内称为 d_in,并且跨集群和外部世界称为 d_out,那么您应该:

d_in > d > d_out

.

【讨论】:

以上是关于如何在没有基本事实的情况下评估社区检测的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有评估环境的情况下对函数进行集群导出

如何在没有物理的情况下检测碰撞

如何仅在评估模式下运行 TF 对象检测 API model_main.py

如何在使用 ImageDataGenerator 时获得基本事实和相应的分数

如何在没有 jQuery 的情况下检测 DOM 并添加一个类?

如何在没有按下输入C#WPF的情况下检测我的键盘