Я пытаюсь выяснить, как рассчитать индекс Рэнда кластерного алгоритма, но я застрял в точке, как рассчитать истинные и ложные отрицания.
Сейчас я использую пример из книги «Введение в поиск информации» (Manning, Raghavan & Schütze, 2009). На странице 359 они говорят о том, как рассчитать индекс Рэнда. Для этого примера они используют три кластера, и кластеры содержат следующие объекты.
- aaaaab
- abbbbc
- aaccc
Я заменяю объект (оригинальные знаки на буквы, но идея и количество остаются неизменными). Я приведу точные слова из книги, чтобы понять, о чем они говорят:
Сначала мы вычисляем TP + FP. Три кластера содержат 6, 6 и 5 баллов соответственно, поэтому общее количество «позитивов» или пар документов, которые находятся в одном кластере:
TP + FP = + + = 15 + 15+ 10 = 40
Из них пары a в кластере 1, пары b в кластере 2, пары c в кластере 3 и пара a в кластере 3 являются истинными положительными значениями:
TP = + + + = 10 + 6 + 3 + 1 = 20
Таким образом, FP = 40 - 20 = 20.
До сих пор расчеты понятны, и если я беру другие примеры, я получаю те же результаты, но когда я хочу вычислить ложноотрицательный и истинно отрицательный Manning et al. заявить следующее:
FN и TN рассчитываются аналогично, что приводит к следующей таблице непредвиденных расходов:
Таблица непредвиденных расходов выглядит следующим образом:
+--------+--------+
| TP: 20 | FN: 24 |
+--------+--------+
| FP: 20 | TN: 72 |
+--------+--------+
Предложение: «FN и TN рассчитываются аналогично» не совсем понятно для меня, и я не понимаю, какие числа мне нужны для вычисления TN и FN. Я могу рассчитать правую часть таблицы, выполнив следующие действия:
TP + FP + FN + TN = = = 136
Источник: http://en.wikipedia.org/wiki/Rand_index
Таким образом, FN + TN = 136 - TP + FP = 136 - 40 = 96, но это на самом деле не помогает мне понять, как вычислять переменные по отдельности. Особенно, когда авторы говорят: «FN и TN рассчитываются одинаково». Я не вижу как. Также, когда я смотрю на другие примеры, они вычисляют каждую ячейку таблицы сопряженности, просматривая каждую пару.
Например: http://www.otlet-institute.org/wikics/Clustering_Problems.html#toc-Subsection-4.1
Мой первый вопрос, основанный на примере Manning et al (2009), можно ли рассчитать TN и FN, если вы знаете только TP & NP? И если да, то как выглядит аналогичный расчет на основе приведенного примера?
источник
После изучения других ответов в этой теме, вот моя реализация Python, которая принимает массивы в качестве входных данных,
sklearn
-style:источник
Я не совсем уверен, но вот как я сделал значение
TN : TN = (7 2) (10 2) (4 2)
(7 2) - кластер 1 - тест говорит «х», поэтому посчитайте те, которые НЕ х (и правильно сгруппированы в кластеры 2 и 3)
т.е. 4 'o's + 3' d (алмазы) = (7 2)
(10 2) - Кластер 2, подсчитайте те, которые НЕ 'и правильно сгруппированы в кластеры 1 и 3,
то есть 5 'x' + (2'x '+ 3'd') = (10 2)
(4 2) - Кластер 3, подсчитайте те, которые НЕ являются «x» и НЕ «d» (ромбовидный элемент), которые правильно сгруппированы в кластеры 1 и 2.
то есть 4 'в кластере 2. = (4 2)
TN = (7 2) + (10 2) + (4 2) = 72.
Тогда FN это:
FN = (17 2) - (TP + FP) - TN = 136 - 40 -72 = 24. ---> (17 = общее количество документов)
источник
Возьмем пример другого вопроса:
Разумный ответ для ФН:
Объяснение:
(С (8,2) -c (5,2) -c (2,2))
выберите 2 из 8 для «x» (a) комбинацию одного и того же класса в одних и тех же кластерах (c (5,2) для кластера 1 и c (2,2) для кластера 3),
(С (5,2) -c (4,2))
выберите 2 из 5 'o' (b) минус комбинацию одного и того же класса в одних и тех же кластерах (c (4,2) для кластера 2)
(С (4,2) -c (3,2)
выберите 2 из 4 для «◇» (c) минус комбинацию одного и того же класса в одних и тех же кластерах (c (3,2) для кластера 3)
Я вывел это так.
источник
У меня есть реализация этого в R, который я объясню:
TP (a в коде) - это сумма каждой ячейки, выбранной 2. Согласно исходному вопросу (0 или 1, выберите 2, что равно 0).
FN (b) - сумма каждой строки выбора 2, все суммированы, за вычетом TP. Где каждая сумма строк представляет количество документов в каждом классе True.
Сумма этого - все документы, которые похожи и находятся в одном кластере (TP), плюс все документы, которые похожи и не находятся в одном кластере (FN).
Так что это (TP + FN) - TP = FN
FP (c) рассчитывается аналогично. Сумму каждого столбца выбирают 2, все суммируются за вычетом TP. В этом случае каждый столбец сумма представляет количество документов в каждом кластере.
Таким образом, сумма всех документов, которые похожи и находятся в одном кластере (TP), плюс все документы, которые не похожи и находятся в одном кластере (FP).
Так что это (TP + FP) - TP = FP
С этими 3 рассчитанными оставшийся расчет TN является прямым. Сумму из таблицы выбирают 2, за вычетом TP, FP & FN = TN (d)
Единственный запрос, который я имею с этим методом, - это определение TP. Используя терминологию в этом вопросе, я не понимаю, почему 2 в кластере 3 считаются TP. Я нашел это и здесь, и в соответствующем учебнике. Тем не менее, я понимаю их расчеты с предположением, что их расчет TP является правильным.
Надеюсь это поможет
источник
Вы можете вычислить TN и FN одинаково.
Просто поменяйте роли меток и кластеров .
... затем выполните те же вычисления.
источник
Я ДУМАЮ, что реверс-инжиниринг ложного негатива (FN) из этого. Для истинных положительных результатов вы сделали 4 группы, которые были положительными. В кластере 1 у вас было пять очков; в кластере 2 у вас было 4 б; в кластере 3 у вас было 3 с и 2 с.
Так что за ложный минус.
Следовательно, у вас есть (5 1) + (5 2) + (4 1) + (3 1) + (2 1), что равняется 5 + 10 + 4 + 3 + 2 = 24. Отсюда 24 просто вычтите это из 136, которые вы уже нашли, чтобы получить истинный нег (TN).
источник
Вот как можно рассчитать каждую метрику для индекса Рэнд без вычитания
Дополнительные примечания для облегчения понимания:
1) Индекс Рэнда основан на сравнении пар элементов. Теория предполагает, что подобные пары элементов должны быть размещены в одном кластере, в то время как разнородные пары элементов должны быть размещены в отдельных кластерах.
2) RI не заботится о разнице в количестве кластеров. Он просто заботится о парах True / False элементов.
На основании этого предположения рассчитывается индекс Рэнда
Хорошо, давайте погрузимся в наш пример:
В знаменателе у нас есть общее количество возможных пар, которое
(17 2) = 136
Теперь давайте посчитаем каждую метрику для лучшего понимания:
A) Давайте начнем с простого a , ( True Positives или исправить подобное )
Это значит, что вам нужно найти все возможные пары элементов, в которых прогноз и истинная метка были размещены вместе. На примере сетки это означает получение суммы возможных пар в каждой ячейке.
C) Теперь давайте сделаем c ( Ложные Позитивы или неправильные различия )
Это значит, найти все пары, которые мы поместили вместе, но которые должны быть в разных кластерах. На примере сетки это означает, что нужно найти все возможные пары между любыми двумя горизонтальными ячейками.
D) Вычисление d ( False Negative или неправильный аналог ). Это значит, найти все пары, которые мы поместили в разные кластеры, но которые должны быть вместе. На примере сетки найдите все возможные пары между любыми 2 вертикальными ячейками
Б) И, наконец, давайте сделаем б ( Истинные негативы или исправить несходные )
Это значит, найти все пары, которые мы поместили в разные кластеры, которые также должны быть в разных кластерах. На сетке это означает поиск всех возможных пар между любыми 2 не вертикальными и не горизонтальными ячейками
Вот то, какие числа должны быть умножены, чтобы лучше понять, что я имел в виду:
В цифрах:
И в конце индекс Рэнда равен:
(20 + 72) / 136 = 0.676
источник
Ниже изображение, которое описывает ваш вопрос:
Чтобы решить эту проблему, вам нужно рассмотреть эту матрицу:
Вот как мы рассчитываем TP, FN, FP для индекса Rand:
ПРИМЕЧАНИЕ. В приведенных выше уравнениях я использовал треугольник, чтобы показать ромб на рисунке.
Например, для False Negative мы должны выбирать из класса, но в разных кластерах. Итак, мы можем выбрать
Наконец, у нас будет24 (= 5 + 10 + 4 + 2 + 3 ) состояния.
То же самое относится и к остальным уравнениям.
Самая сложная часть - это TN, что можно сделать как на картинке ниже:
Есть несколько более коротких путей для расчета индекса Рэнда, но это глубокий и пошаговый расчет. Наконец, таблица непредвиденных расходов выглядит следующим образом:
источник