cdlib.evaluation.mi

cdlib.evaluation.mi(first_partition: object, second_partition: object) MatchingResult

此函数计算两个聚类之间的互信息(MI)。

\[MI = (S(c1) + S(c2) - S(c1, c2))\]

其中 S(c1) 是聚类大小分布的香农熵,S(c1, c2) 是联合聚类大小分布的香农熵,

Parameters:
  • first_partition – NodeClustering 对象

  • second_partition – NodeClustering 对象

Returns:

匹配结果对象

Example:

>>> from cdlib import evaluation, algorithms
>>> import networkx as nx
>>> g = nx.karate_club_graph()
>>> louvain_communities = algorithms.louvain(g)
>>> leiden_communities = algorithms.leiden(g)
>>> evaluation.mi(louvain_communities,leiden_communities)
Reference:

Leon Danon, Albert D ıaz-Guilera, Jordi Duch, 和 Alex Arenas. 比较社区结构识别. 统计力学杂志: 理论与实验, 2005(09):P09008–P09008, 2005年9月.

注意

该函数需要安装clusim库。您可以通过pip安装:pip install clusim