normalized_mutual_info_score
- sklearn.metrics.normalized_mutual_info_score(labels_true, labels_pred, *, average_method='arithmetic')[исходный код]
-
Нормализованная взаимная информация между двумя кластеризациями.
Нормализованная взаимная информация (NMI) — это нормализация оценки взаимной информации (MI), которая приводит результаты к диапазону от 0 (взаимная информация отсутствует) до 1 (идеальная корреляция). В этой функции взаимная информация нормализуется с помощью некоторого обобщённого среднего значений
H(labels_true)иH(labels_pred)), определённогоaverage_method.Эта мера не скорректирована на случайность. Поэтому может быть предпочтительнее использовать
adjusted_mutual_info_score.Эта метрика не зависит от абсолютных значений меток: перестановка значений меток классов или кластеров никак не изменит оценку.
Кроме того, эта метрика симметрична: перестановка
label_trueиlabel_predне изменит значение оценки. Это может быть полезно для измерения согласованности двух независимых стратегий присвоения меток одному набору данных, когда истинные метки неизвестны.Подробнее см. в руководстве пользователя.
- Параметры:
-
- labels_trueмассивоподобный объект формы (n_samples,)
-
Кластеризация данных на непересекающиеся подмножества.
- labels_predмассивоподобный объект формы (n_samples,)
-
Кластеризация данных на непересекающиеся подмножества.
- average_method{‘min’, ‘geometric’, ‘arithmetic’, ‘max’}, по умолчанию=’arithmetic’
-
Способ вычисления нормализатора в знаменателе.
Добавлено в версии 0.20.
Изменено в версии 0.22: Значение по умолчанию для
average_methodизменено с ‘geometric’ на ‘arithmetic’.
- Возвращает:
-
- nmiчисло с плавающей точкой
-
Оценка от 0.0 до 1.0 в нормализованных натах (на основе натурального логарифма). Значение 1.0 соответствует идеально полному присвоению меток.
См. также
v_measure_score-
V-мера (NMI с использованием арифметического среднего).
adjusted_rand_score-
Скорректированный индекс Рэнда.
adjusted_mutual_info_score-
Скорректированная взаимная информация (с поправкой на случайность).
Примеры
Идеальные разметки одновременно однородны и полны, поэтому их оценка равна 1.0:
>>> from sklearn.metrics.cluster import normalized_mutual_info_score >>> normalized_mutual_info_score([0, 0, 1, 1], [0, 0, 1, 1]) 1.0 >>> normalized_mutual_info_score([0, 0, 1, 1], [1, 1, 0, 0]) 1.0
Если объекты классов полностью распределены по разным кластерам, разметка совершенно неполная, поэтому NMI равна нулю:
>>> normalized_mutual_info_score([0, 0, 0, 0], [0, 1, 2, 3]) 0.0
Примеры в галерее
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.metrics.normalized_mutual_info_score.html