Частое извлечение паттернов: правильный подсчет поддержки в случае нескольких путей - PullRequest
0 голосов
/ 07 марта 2020

Я работаю над набором данных с данными социальной сети для творческого сотрудничества. Каждое сотрудничество - это дерево (созданное набором участников). Мне нужно найти правила ассоциации между наборами пользователей (представленных узлами дерева) для групп по майнингу (найти людей, которые часто работают вместе как виртуальная группа musi c). Я преобразовал деревья в матрицу, где строки - это транзакции (пути от корней к листьям на деревьях), в которых взаимодействуют пользователи-ведьмы (числа в столбцах).

Это небольшое подмножество моей матрицы:

Матрица транзакций

Каждое создание имеет эту древовидную структуру * выделенный текст * 154179 является root, 154646 и 154647 являются первыми дочерними элементами, 154648 extend 154647 и из него множественные разбиения в каждом другом пользователе расширяются 154647

Проблема : мне нужно посчитать поддержку каждого k-itemset. Мне нужно подсчет 1 для root и каждого узла, который появляется больше раз, но по тому же пути.

Моя поддержка будет выглядеть следующим образом:

154179 = 2 (потому что он появляется как root и в третьем узле некоторых транзакций) 154646 = 1 (поскольку он расширяет 154179 только один раз) ..... (154179-154646) = 1 (154179-152205) = 2 (потому что в транзакции 16 появляется 152205 другим путем) .... (154179-154646-154648) = 1 ... et c

Надеюсь, я хорошо объяснил свой случай и смог найти помощь здесь.

Спасибо

...