2013-08-22 29 views
7

我正在使用NetworkX生成一些噪音數據的圖形。我想通過刪除虛假的分支來「清理」圖表,並希望避免重新發明輪子。修剪NetworkX圖形的功能?

例如,鏈接的圖片顯示了一組樣圖,作爲通過灰線連接的彩色節點。我想修剪由白色框指示的節點/邊緣:http://www.broadinstitute.org/~mbray/example_tree.png

實質上,要移除的節點/邊緣通常只有少數節點(長度爲< 3)。通過刪除它們,我希望有一棵樹具有最小的分支,但保留的分支是「適當」的長。

在我開始創建代碼以檢查要刪除的子樹之前,有沒有可用於此目的的NetworkX函數?

回答

0

您可以使用節點的betweenness_centrality得分。如果具有低中心性分數的節點連接到具有顯着更高中心性分數的節點並且具有3條邊,則可以移除低中心性節點。 (其餘的連接節點不再連接到主圖)。

您需要嘗試使用「顯着更高」的短語。

+0

我喜歡這個,至少作爲開始。分支通常是非常不對稱的,所以找到一個修剪閾值不應該太難。謝謝! – braymp