Adjazenzmatrix berechnen
Jetzt übst du den Einsatz von Matrizen und dünn besetzten Matrizen (Sparse Matrices), um Projektionen zu berechnen! In dieser Aufgabe verwendest du den Matrixmultiplikations-Operator @, der in Python 3.5 eingeführt wurde.
Du arbeitest weiterhin mit dem American-Revolution-Graphen. Die beiden interessierenden Partitionen sind hier 'people' und 'clubs'.
Diese Übung ist Teil des Kurses
Fortgeschrittene Netzwerkanalyse in Python
Anleitung zur Übung
- Hole dir die Liste der Personen und die Liste der Clubs aus dem Graphen
Gmit der Funktionget_nodes_from_partition(), die du im vorherigen Kapitel definiert hast. Diese Funktion akzeptiert zwei Parameter: einen Graphen und eine Partition. - Berechne die Bi-Adjazenzmatrix mit
nx.bipartite.biadjacency_matrix()und setze den Parameterrow_orderaufpeople_nodesund den Parametercolumn_orderaufclubs_nodes. Denk daran, auch den GraphenGzu übergeben. - Berechne die User-User-Projektion, indem du die Bi-Adjazenzmatrix
bi_matrixmit ihrer Transpositionbi_matrix.Tmultiplizierst (mit dem Operator@).
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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)