オーバーラップ ブロック状態の各ノードのブロック メンバーシップを numpy 配列に変換するにはどうすればよいですか?
具体的には、重複するブロックオブジェクトを推測する場合、重複するメンバーシップ配列は次のように復元できるようです
blockobject = gt.minimize_blockmodel_dl(g, overlap = True)
blockpropertyvector = blockobject.get_overlap_blocks()[0]
これを numpy 配列に変換するには、特定のノードのメンバーシップの最大数 (max_overlaps と呼びましょう) を把握する必要があるようです。その後、2 次元配列に変換できます。
blockpropertyvector.get_2d_array(range(max_overlaps))
しかし、今は結果をどのように解釈すればよいかわかりません。この行列の最初の行が各ノードの最初のメンバーシップの割り当てであるというのは本当ですか? もしそうなら、2 番目の行はノードが存在する場合は 2 番目のメンバーシップの割り当てであり、存在しない場合は 0 であると言いたいと思います。しかし、0 はブロック番号の可能性があるので、0-i 番目のブロックに重複するメンバーシップが含まれているかどうかはどうすればわかりますか?