Oblicz macierz sąsiedztwa
Czas poćwiczyć korzystanie z macierzy i mnożenia rzadkich macierzy do obliczania projekcji! W tym ćwiczeniu użyjesz operatora mnożenia macierzy @, wprowadzonego w Pythonie 3.5.
Będziesz nadal pracować z grafem dotyczącym Rewolucji Amerykańskiej. Dwie interesujące nas partycje to 'people' i 'clubs'.
To ćwiczenie jest częścią kursu
Analiza sieci w Pythonie – poziom średniozaawansowany
Instrukcje do ćwiczenia
- Pobierz listę osób i listę klubów z grafu
G, korzystając z funkcjiget_nodes_from_partition(), którą zdefiniowano w poprzednim rozdziale. Funkcja przyjmuje dwa parametry: graf oraz partycję. - Oblicz macierz bisąsiedztwa za pomocą
nx.bipartite.biadjacency_matrix(), ustawiając parametrrow_ordernapeople_nodes, a parametrcolumn_ordernaclubs_nodes. Pamiętaj, aby przekazać też grafG. - Oblicz projekcję użytkownik–użytkownik, mnożąc (operatorem
@) macierz bisąsiedztwabi_matrixprzez jej transpozycjębi_matrix.T.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)