cdlib.evaluation.adjusted_mutual_information

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

两个聚类之间的调整互信息。

调整互信息(AMI)是对互信息(MI)分数进行调整以考虑偶然性。它解释了这样一个事实,即对于具有更多簇的两个聚类,MI通常更高,无论是否实际上共享了更多信息。对于两个聚类 \(U\)\(V\),AMI 给出如下:

AMI(U, V) = [MI(U, V) - E(MI(U, V))] / [max(H(U), H(V)) - E(MI(U, V))]

该指标与标签的绝对值无关:类别或聚类标签值的排列不会以任何方式改变得分值。

此外,该指标是对称的:交换label_truelabel_pred将返回相同的分数值。这在真实的基础事实未知时,用于衡量同一数据集上两种独立标签分配策略的一致性非常有用。

请注意,此函数比其他指标(如调整兰德指数)慢一个数量级。

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

  1. Vinh, N. X., Epps, J., & Bailey, J. (2010). 信息理论度量用于聚类比较:变体、属性、归一化和机会校正。 机器学习研究杂志, 11(10月), 2837-2854.