У меня есть сеть, которая является графической сетью, и это сеть Email-Eu, которая доступна в здесь .
Этот набор данных имеет фактический набор данных, представляющий собой граф из 1005 узлов с ребрами, которые образуют этот гигантский граф. Он также имеет основные метки истинности для узлов и соответствующих сообществ (отделов). Каждый из этих узлов принадлежит одному из каждых 42 отделов.
Я хочу запустить алгоритм обнаружения сообщества на графике, чтобы найти соответствующий отдел для каждого узла. Моя главная цель - найти узлы в самом большом сообществе.
Итак, сначала мне нужно найти первые 42 отдела (сообщества), а затем найти узлы в самом большом из них.
Я начал с алгоритма Гирвана-Ньюмана, чтобы найти сообщества. Прелесть Girvan-Newman в том, что его легко реализовать, потому что каждый раз, когда мне нужно найти грань с наивысшим промежуточным положением, и убрать ее, пока не найду 42 отдела (сообщества), которые я хочу.
Я изо всех сил пытаюсь найти другие алгоритмы обнаружения сообществ, которые дают мне возможность указать, на сколько сообществ / разделов мне нужно разбить свой график.
Есть ли какая-либо функция / метод обнаружения сообщества, которую я могу использовать, что дает мне возможность указать, сколько сообществ мне нужно обнаружить из моего графика? Любые идеи очень ценятся.
Я использую Python и NetworkX.