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
Примеры галереи#
Коррекция на случайность в оценке производительности кластеризации