1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonで学ぶネットワーク分析入門

Connected

演習

各ノードの近傍ノード数を求める

ノードが重要かどうかを評価するにはどうすればよいでしょうか?いくつか方法がありますが、ここでは 1 つの指標、つまりノードが持つ近傍ノードの数を見ていきます。

あらゆる NetworkX グラフ G は、ノード n の近傍ノードを返すイテレータである .neighbors(n) メソッドを提供しています。まずは IPython Shell で Twitter ネットワーク T を使い、ノード 1 の近傍ノードを取得して、この関数の使い方に慣れましょう。その後、この演習では、近傍ノードが m のすべてのノードを返す関数を書くのがあなたの仕事です。

指示

100 XP
  • nodes_with_m_nbrs() という関数を作成し、引数は G と m の 2 つ、戻り値は近傍ノードが m のすべてのノードにしてください。次のように実装します。
    • G のすべてのノード(メタデータは含めません)を反復処理します。
    • .neighbors() メソッドに len() と list() を組み合わせ、グラフ G におけるノード n の近傍ノードの合計数を計算します。
      • ノード n の近傍ノード数が m と等しければ、集合 nodes の .add() メソッドで n を追加します。
    • G のすべてのノードを反復し終えたら、集合 nodes を返します。
  • 作成した nodes_with_m_nbrs() 関数を使って、グラフ T の中で近傍ノードが 6 のすべてのノードを取得してください。