始める無料で始める

隣接行列を計算する

ここでは、行列と疎行列の乗算を使って射影を計算する練習をします。Python 3.5 で導入された行列乗算演算子 @ を使います。

引き続き American Revolution のグラフを扱います。ここで注目する2つのパーティションは 'people''clubs' です。

この演習はコースの一部です

Python 中級ネットワーク解析

コースを見る

演習の手順

  • 前の章で定義した get_nodes_from_partition() 関数を使って、グラフ G から人のリストとクラブのリストを取得します。この関数は2つの引数(グラフとパーティション)を受け取ります。
  • nx.bipartite.biadjacency_matrix() を使って二部隣接行列を計算します。row_order には people_nodescolumn_order には clubs_nodes を指定し、グラフ G も渡してください。
  • ユーザー同士の射影を計算するために、二部隣接行列 bi_matrix とその転置 bi_matrix.T@ 演算子で掛け合わせます。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Get the list of people and list of clubs from the graph: people_nodes, clubs_nodes
people_nodes = ____
clubs_nodes = ____

# Compute the biadjacency matrix: bi_matrix
bi_matrix = ____(____, row_order=____, column_order=____)

# Compute the user-user projection: user_matrix
user_matrix = ____

print(user_matrix)
コードを編集して実行