2015-12-29 7 views
1

Я экспериментирую с различными алгоритмами обнаружения сообщества и смог получить некоторые результаты для всех алгоритмов обнаружения сообщества, ожидающих spinglass. Я использую точно такой же график, но получаю сообщение об ошибке.Почему igraph spinglass дает мне «Невозможно работать с несвязанным графиком»?

Код

g = Graph.TupleList(tupleMapping) 
cl = g.community_spinglass() 

Ошибка

File "/Library/Python/2.7/site-packages/igraph/__init__.py", line 1265, in community_spinglass 
membership = GraphBase.community_spinglass(self, *args, **kwds) 
igraph._igraph.InternalError: Error at clustertool.cpp:286: Cannot work with unconnected graph, Invalid value 

У меня есть ребра и вершины и тот же граф работает со всеми другими алгоритмами обнаружения сообщества в igraph (ведущий собственный вектор, GN, Инфокарта, распространение этикетки , Многоуровневая, Walktrap) просто не spinglass.

ответ

1

Реализация алгоритма кластеризации spinglass, включенного в igraph, работает только на связанных графиках. Вы должны разложить график на свои подключенные компоненты, запустить кластеризацию на каждом из подключенных компонентов, а затем слить членские векторы кластеров вручную.

0

Как уже было сказано,

Реализация алгоритма кластеризации spinglass, который включен в igraph работает только на связных графов. У вас должно быть разложить график на подключенные компоненты, запустить кластеризацию на каждом из подключенных компонентов, а затем слить членство векторов кластеров вручную.

можно разложить свой основной график, используя clusters метод iGraph как в примере ниже:

clusters = g.clusters() 
    giant  = clusters.giant() ## using the biggest component as an example, you can use the others here. 
    communities = giant.community_spinglass() 

 Смежные вопросы

  • Нет связанных вопросов^_^