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

Connected

演習

もう一方のパーティションにある共有ノード

レコメンデーションシステムの考え方を身につけるために、まずは基礎から始めます。ここでは二部グラフにおけるユーザー同士の類似度の計算に焦点を当てます。

あなたの課題は、2つのノードを受け取り、その2つのユーザーノードの間で共有されているリポジトリノードの集合を返す関数を書くことです。

この演習では、.neighbors()、set()、.intersection() といったメソッドや関数、そしてあなたが定義する shared_partition_nodes 関数が役に立ちます!

指示

100 XP
  • 3つの引数(グラフ G、node1、node2)を受け取り、node1 と node2 の間で共有されるノードの集合を返す shared_partition_nodes() という関数を書いてください。
    • assert 文と 'bipartite' キーワードを使って、node1 と node2 が同じパーティションに属していることを確認します。
    • node1 の隣接ノードを取得して nbrs1 として保存します。
    • node2 の隣接ノードを取得して nbrs2 として保存します。
  • 集合の .intersection() メソッドを使って、nbrs1 と nbrs2 の重なりを計算します。
  • あなたの shared_partition_nodes() 関数と len() 関数を組み合わせて、ユーザー 'u7909' と 'u2148' の間で共有されているリポジトリ数を出力してください。