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

Connected

演習

まだ一緒に編集していない共同編集者を推薦する

最後に、オープントライアングルの考え方を活用して、GitHub で協業すべきユーザーを推薦していきます!

指示

100 XP
  • 互いに協業を推薦すべき GitHub ユーザーの一覧を作成します。次の手順で行ってください。
    • 最初の for ループでは、data=True を指定して、G 内のすべてのノード(メタデータ付き)を反復処理します。
    • 2 つ目の for ループでは、size を 2 にした combinations() 関数を使い、三角関係になり得るすべての組み合わせを反復処理します。
    • もし n1 と n2 の間にエッジがない場合、これら 2 つのノード(ユーザー)は協業を推奨すべきなので、このケースでは recommended 辞書の (n1), (n2) の値をインクリメントします。n1 と n2 の間にエッジがあるかどうかは .has_edge() メソッドで確認できます。
  • リスト内包表記を使って、協業を推薦すべきユーザーの上位 10 組を特定します。イテラブル は recommended 辞書のキーと値のペア(.items() メソッドで取得)にし、条件は count が all_counts の上位 10 件よりも「大きい」ことです。all_counts は昇順でソートされているため、上位 10 件には all_counts[-10] でアクセスできます。