2013-08-22 4 views
7

Я использую NetworkX для генерации графов некоторых шумных данных. Я бы хотел «очистить» график, удалив ветки, которые являются ложными, и надеюсь избежать повторного создания колеса.Функции для обрезки графика NetworkX?

Например, связанное изображение показывает образец набора графиков, как цветные узлы, соединенные серыми линиями. Я хотел бы обрезать узлы/края, обозначенные белыми квадратами: http://www.broadinstitute.org/~mbray/example_tree.png

По существу, узлы/ребра, подлежащие удалению, являются ветвями, как правило, только несколькими узлами (< 3). Удалив их, я надеюсь иметь дерево с минимальным разветвлением, но ветви, которые остаются, «подходят» долго.

Прежде чем приступить к разработке кода для проверки поддеревьев для удаления, существуют ли функции NetworkX, которые могут использоваться для этой цели?

ответ

0

Вы можете использовать балл междузначности узлов. Если узел с низкой оценкой центральности связан с узлом значительно более высокой оценки центральности и имеет 3 ребра, то вы можете удалить узел низкой центральности. (остальная часть подключенных узлов < больше не подключена к основному графику.).

Вам нужно поэкспериментировать с фразой «значительно выше».

+0

Мне это нравится, по крайней мере, в начале. Ветви обычно довольно асимметричны, поэтому найти порог обрезки не должен быть слишком сложным. Благодаря! – braymp

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