mutual_info_score
- sklearn.metrics.mutual_info_score(labels_true, labels_pred, *, contingency=None)[source]
-
Взаимная информация между двумя кластеризациями.
Взаимная информация — это мера сходства между двумя метками одного и того же набора данных. Где \(|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,), dtype=integral
-
Кластеризация данных на непересекающиеся подмножества, называемые \(U\) в формуле выше.
- labels_predarray-like of shape (n_samples,), dtype=integral
-
Кластеризация данных на непересекающиеся подмножества, называемые \(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-
Нормализованная взаимная информация.
Примечания
Используемый логарифм — натуральный логарифм (по основанию е).
Примеры
>>> 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) np.float64(0.056...)
Примеры галереи
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.metrics.mutual_info_score.html