mutual_info_score#

sklearn.metrics.mutual_info_score(labels_true, labels_pred, *, таблица сопряженности=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 формы (n_samples,), dtype=integral

Кластеризация данных на непересекающиеся подмножества, называемые \(U\) в приведенной выше формуле.

labels_predarray-like формы (n_samples,), dtype=integral

Кластеризация данных на непересекающиеся подмножества, называемые \(V\) в приведенной выше формуле.

таблица сопряженности{array-like, sparse matrix} формы (n_classes_true, n_classes_pred), по умолчанию=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