<p dir="auto">This is a problem of implementation decisions. The adjusted mutual information (AMI) between two labelings is an adjusted-for-chance version of the normalized mutual information (NMI) of those labelings. There are numerous choices for how to normalize; four listed in <a href="http://jmlr.csail.mit.edu/papers/volume11/vinh10a/vinh10a.pdf" rel="nofollow">Vinh et al. (2010)</a> are min, sum, sqrt, and max. We use sqrt in <code class="notranslate">metrics.normalized_mutual_info_score</code> but max in <code class="notranslate">metrics.adjusted_mutual_info_score</code>.</p>
<p dir="auto">Consistency makes sense, especially when comparing these two measures to each other. I think it makes sense to make the two definitions consistent with each other. Alternatively, a parameter could be added to each, letting the user choose their normalizing method. Since there hasn't been much study into when to use which normalizing method (and the choice doesn't alter results much), I think it's better to make a unilateral shift so both consistently use just one normalizing method.</p>
<p dir="auto">There exist many defintions of NMI and AMI.</p>
<blockquote>
<p dir="auto">Vinh, N. X., Epps, J., &amp; Bailey, J. (2010). Information theoretic measures for clusterings comparison: Variants, properties, normalization and correction for chance. Journal of Machine Learning Research, 11(Oct), 2837-2854.</p>
</blockquote>
<p dir="auto">mention 5 different definitions of NMI, and based on that give 4 different AMI.</p>
<p dir="auto">The NMI implemented in sklearn uses <code class="notranslate">sqrt(H(U), H(V))</code> for normalization.<br>
The AMI implemented in sklearn uses <code class="notranslate">max(H(U), H(V))</code> for normalization.</p>
<p dir="auto">There exists an NMI with the max normalization, and a AMI with the sqrt normalization, so this is inconsistent in sklearn. Ideally, they would both use the same definition by default, and allow using any of the others via an option.</p>