При вычислении ARI с реализацией scikit я заметил странный случай. Для некоторых списков, которые выглядят так, как будто в маркировке был высокий консенсус, ARI все еще составляет 0,0 или даже хуже.
Я перепробовал несколько ярлыков, причем следующее было самым странным из наблюдаемых:
from sklearn import metrics as m
labels_true = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
labels_pred = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1]
res = m.adjusted_rand_score(labels_true,labels_pred)
>>> res = 0.0
Результат равен 0.0, что указывает на то, что два списка являются абсолютно случайными метками. Глядя на них, интуитивно можно сказать, что это довольно хорошая маркировка, за исключением одной записи списка, которая является меткой для класса 0 вместо класса 1. Это даже реалистичный результат кластеризации, например, если в кластере только один кластер. небольшой набор данных без шума и одна точка ошибочно классифицируются (класс 0).
Мой вопрос: мое понимание «хороших» надписей совершенно неверно, или, может быть, есть какая-то ошибка или даже недокументированные ограничения ввода для алгоритма?