Spec-Zone.ru › scikit-learn

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API