次数中心性が高いノードを見つける
この演習では、ネットワーク内でもっともつながりの多い学生に、どのような特徴があるかを詳しく見ていきます。まずは、次数中心性が最も高い学生のクラスターを特定します。この結果は、次の可視化演習で利用します。
この演習はコースの一部です
Python 中級ネットワーク解析
演習の手順
- 上位 5 つの「ユニークな」次数中心性スコアを取得します。これには
sorted()関数を使います。第 1 引数には G の次数中心性値の「set」(ユニークな値にするため)を渡し、第 2 引数には降順に並べ替えるためreverse=Trueを渡します。上位 5 件に絞るには、文末に適切なスライスを追加してください。返された次数中心性の結果には.values()を使うことも忘れないでください。 - 上位 5 つの全体次数中心性を持つノードのリストを作成します。次を行います。
nx.degree_centrality(G)の.items()メソッドを使って、次数中心性スコアの辞書を反復処理します。dcがtop_dcsに含まれている場合は、ノードnをtop_connectedリストに追加します。
- 上位 5 つの次数中心性スコア(
top_connected)を共有するノード数を、len()を使って出力します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Get the top 5 unique degree centrality scores: top_dcs
top_dcs = ____(set(____), reverse=True)[____:____]
# Create list of nodes that have the top 5 highest overall degree centralities
top_connected = []
for n, dc in ____:
if ____ in ____:
____
# Print the number of nodes that share the top 5 degree centrality scores
print(____)