mutual_info_score
- sklearn.metrics.mutual_info_score(labels_true, labels_pred, *, contingency=None)[исходный код]
-
Взаимная информация между двумя кластеризациями.
Взаимная информация — это мера сходства двух наборов меток одних и тех же данных. Пусть \(|U_i|\) — количество образцов в кластере \(U_i\), а \(|V_j|\) — количество образцов в кластере \(V_j\). Тогда взаимная информация между кластеризациями \(U\) и \(V\) определяется следующим образом:
\[MI(U,V)=\sum_{i=1}^{|U|} \sum_{j=1}^{|V|} \frac{|U_i\cap V_j|}{N} \log\frac{N|U_i \cap V_j|}{|U_i||V_j|}\]Эта метрика не зависит от абсолютных значений меток: перестановка значений меток классов или кластеров никак не повлияет на оценку.
Кроме того, эта метрика симметрична: если поменять местами \(U\) (т. е.
label_true) и \(V\) (т. е.label_pred), значение оценки не изменится. Это может быть полезно для измерения согласованности двух независимых стратегий присвоения меток на одном наборе данных, если истинные метки неизвестны.Подробнее см. в руководстве пользователя.
- Параметры:
-
- labels_truearray-like of shape (n_samples,)
-
Кластеризация данных на непересекающиеся подмножества, обозначенные в формуле выше как \(U\).
- labels_predarray-like of shape (n_samples,)
-
Кластеризация данных на непересекающиеся подмножества, обозначенные в формуле выше как \(V\).
- contingency{array-like, sparse matrix} of shape (n_classes_true, n_classes_pred), default=None
-
Матрица сопряжённости, вычисляемая функцией
contingency_matrix. Если значение равноNone, матрица будет вычислена; в противном случае используется переданное значение, аlabels_trueиlabels_predигнорируются.
- Возвращает:
-
- mifloat
-
Взаимная информация — неотрицательное значение, измеряемое в натах с использованием натурального логарифма.
См. также
adjusted_mutual_info_score-
Взаимная информация с поправкой на случайность.
normalized_mutual_info_score-
Нормализованная взаимная информация.
Примечания
Используется натуральный логарифм (основание e).
Примеры
>>> from sklearn.metrics import mutual_info_score >>> labels_true = [0, 1, 1, 0, 1, 0] >>> labels_pred = [0, 1, 0, 0, 1, 1] >>> mutual_info_score(labels_true, labels_pred) 0.0566
Примеры из галереи
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.metrics.mutual_info_score.html