cdlib.evaluation.variation_of_information

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

两个节点分区之间的信息变化。

$$ H(p)+H(q)-2MI(p, q) $$

其中MI是互信息,H是分区熵,p和q是算法集

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.variation_of_information(louvain_communities,leiden_communities)
Reference:

  1. Meila, M. (2007). 比较聚类 - 基于信息的距离。 多元分析杂志, 98, 873-895. doi:10.1016/j.jmva.2006.11.013