2013-08-22 32 views
7

我正在使用NetworkX生成一些噪音数据的图形。我想通过删除虚假的分支来“清理”图表,并希望避免重新发明轮子。修剪NetworkX图形的功能?

例如,链接的图片显示了一组样图,作为通过灰线连接的彩色节点。我想修剪由白色框指示的节点/边缘:http://www.broadinstitute.org/~mbray/example_tree.png

实质上,要移除的节点/边缘通常只有少数节点(长度为< 3)。通过删除它们,我希望有一棵树具有最小的分支,但保留的分支是“适当”的长。

在我开始创建代码以检查要删除的子树之前,有没有可用于此目的的NetworkX函数?

回答

0

您可以使用节点的betweenness_centrality得分。如果具有低中心性分数的节点连接到具有显着更高中心性分数的节点并且具有3条边,则可以移除低中心性节点。 (其余的连接节点不再连接到主图)。

您需要尝试使用“显着更高”的短语。

+0

我喜欢这个,至少作为开始。分支通常是非常不对称的,所以找到一个修剪阈值不应该太难。谢谢! – braymp