Spec-Zone.ru › scikit-learn

normalized_mutual_info_score

sklearn.metrics.normalized_mutual_info_score(labels_true, labels_pred, *, average_method='arithmetic')[source]

Нормализованная взаимная информация между двумя кластеризациями.

Нормализованная взаимная информация (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’.

Возвращает:
nmifloat

Значение от 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–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.metrics.normalized_mutual_info_score.html

Spec-Zone.ru

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