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