Calcola la matrice di adiacenza
Ora farai un po' di pratica usando matrici e moltiplicazione di matrici sparse per calcolare le proiezioni! In questo esercizio userai l'operatore di moltiplicazione tra matrici @, introdotto in Python 3.5.
Continuerai a lavorare con il grafo della Rivoluzione americana. Le due partizioni di interesse qui sono 'people' e 'clubs'.
Questo esercizio fa parte del corso
Analisi di reti intermedia in Python
Istruzioni dell'esercizio
- Ottieni l'elenco delle persone e l'elenco dei club dal grafo
Gusando la funzioneget_nodes_from_partition()che hai definito nel capitolo precedente. Questa funzione accetta due parametri: un grafo e una partizione. - Calcola la matrice di biadiacenza usando
nx.bipartite.biadjacency_matrix(), impostando il parametrorow_orderapeople_nodese il parametrocolumn_orderaclubs_nodes. Ricorda di passare anche il grafoG. - Calcola la proiezione utente-utente moltiplicando (con l'operatore
@) la matrice di biadiacenzabi_matrixper la sua trasposta,bi_matrix.T.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)