1. 学ぶ
  2. /
  3. コース
  4. /
  5. Python 中級ネットワーク解析

Connected

演習

ユーザーノードの次数中心性の分布

この演習と次の演習では、前のコースで学んだ内容を最後にもう一度復習します。課題は、GitHub コラボレーションネットワークの二部グラフ版における各ノード分割の次数中心性の分布をプロットすることです。ここでは、'users' パーティションについて実行します。次の演習では、'projects' パーティションについて行います。

以前に作成した関数 get_nodes_from_partition() は読み込まれています。念のためお伝えすると、「次数中心性」はノードの重要度を測る指標で、「次数中心性の分布」はグラフ内の全ノードの次数中心性スコアの一覧です。少し前の演習でサーコスプロットを作成したときには、こちらで次数中心性を計算しました。今回は、みなさん自身で計算してみましょう!

指示

100 XP
  • matplotlib.pyplot を plt としてインポートします。
  • 前の演習で作成した get_nodes_from_partition() を使い、G の 'users' ノードに対応するリスト user_nodes を取得します。
  • nx.degree_centrality() 関数を使って、G 内の各ノードの次数中心性を計算し、結果を dcs として保存します。
  • リスト内包表記を使って、user_nodes の各ノードの次数中心性を計算し、結果を user_dcs として保存します。
    • dcs はキーがノードの辞書です。ここで対象となるノードは user_nodes に含まれています。この情報を使ってユーザーノードの次数中心性をどのように取得できますか? 反復変数には n を使いましょう。
  • plt.hist() と user_dcs を使って、ユーザーの次数分布のヒストグラムを描画します。