隣接行列を計算する
ここでは、行列と疎行列の乗算を使って射影を計算する練習をします。Python 3.5 で導入された行列乗算演算子 @ を使います。
引き続き American Revolution のグラフを扱います。ここで注目する2つのパーティションは 'people' と 'clubs' です。
この演習はコースの一部です
Python 中級ネットワーク解析
演習の手順
- 前の章で定義した
get_nodes_from_partition()関数を使って、グラフGから人のリストとクラブのリストを取得します。この関数は2つの引数(グラフとパーティション)を受け取ります。 nx.bipartite.biadjacency_matrix()を使って二部隣接行列を計算します。row_orderにはpeople_nodes、column_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)