adjusted_rand_score
- sklearn.metrics.adjusted_rand_score(labels_true, labels_pred)[source]
-
Индекс Рэнда, скорректированный на случайность.
Индекс Рэнда вычисляет меру сходства между двумя кластеризациями, рассматривая все пары образцов и подсчитывая пары, которые назначены в одни и те же или разные кластеры в предсказанной и истинной кластеризациях.
Исходный показатель RI затем «скорректирован на случайность» в ARI с помощью следующей схемы:
ARI = (RI - Expected_RI) / (max(RI) - Expected_RI)
Таким образом, скорректированный индекс Рэнда гарантирует значение, близкое к 0,0 для случайной метки независимо от числа кластеров и образцов и точно 1,0, когда кластеризации идентичны (с точностью до перестановки). Скорректированный индекс Рэнда ограничен снизу значением -0,5 для особенно несогласованных кластеризаций.
ARI — это симметричная мера:
adjusted_rand_score(a, b) == adjusted_rand_score(b, a)
Дополнительную информацию можно найти в Руководстве пользователя.
- Parameters:
-
- labels_truearray-like of shape (n_samples,), dtype=int
-
Метки истинных классов, используемые в качестве эталона.
- labels_predarray-like of shape (n_samples,), dtype=int
-
Метки кластеров для оценки.
- Returns:
-
- ARIfloat
-
Показатель сходства в диапазоне от -0,5 до 1,0. Случайные метки имеют ARI, близкое к 0,0. 1,0 означает полное совпадение.
См. также
adjusted_mutual_info_score-
Скорректированная взаимная информация.
Ссылки
[Hubert1985]Л. Хуберт и П. Араби, Сравнение разбиений, Журнал классификации 1985 https://link.springer.com/article/10.1007%2FBF01908075
[Steinley2004]Д. Стейнли, Свойства скорректированного индекса Рэнда Хуберта-Араби, Психологические методы 2004
Примеры
Совершенно совпадающие метки имеют оценку 1, даже
>>> from sklearn.metrics.cluster import adjusted_rand_score >>> adjusted_rand_score([0, 0, 1, 1], [0, 0, 1, 1]) 1.0 >>> adjusted_rand_score([0, 0, 1, 1], [1, 1, 0, 0]) 1.0
Метки, которые назначают всех членов классов одному кластеру, полны, но не всегда чистые, поэтому они наказываются:
>>> adjusted_rand_score([0, 0, 1, 2], [0, 0, 1, 1]) 0.57...
ARI симметричен, поэтому метки, которые имеют чистые кластеры с членами, принадлежащими к тем же классам, но ненужные разделения наказываются:
>>> adjusted_rand_score([0, 0, 1, 1], [0, 0, 1, 2]) 0.57...
Если члены классов полностью разделены по разным кластерам, назначение является совершенно неполным, поэтому ARI очень низкий:
>>> adjusted_rand_score([0, 0, 0, 0], [0, 1, 2, 3]) 0.0
ARI может принимать отрицательное значение для особенно несогласованных меток, которые являются худшим выбором, чем ожидаемое значение случайных меток:
>>> adjusted_rand_score([0, 0, 1, 1], [0, 1, 0, 1]) -0.5
См. Коррекция на случайность в оценке производительности кластеризации для более подробного примера.
Примеры галереи
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.metrics.adjusted_rand_score.html