ÎncepețiÎncepe gratuit

Extrage centralitatea medie a gradului zi de zi pentru partiția studenților

Aici vei verifica dacă centralitatea medie a gradului peste toate nodurile este corelată cu numărul de muchii reprezentate în timp. Este posibil să nu existe o corelație puternică – vei analiza dacă aceasta este într-adevăr situația.

Acest exercițiu face parte din cursul

Analiză intermediară a rețelelor în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Instanțiază un nou graf numit G_sub, care conține un subset de muchii.
  • Adaugă noduri din G, inclusiv metadatele nodurilor.
  • Adaugă muchiile care îndeplinesc criteriile, folosind metoda .add_edges_from().
  • Obține proiecția studenților G_student_sub din G_sub folosind funcția nx.bipartite.projected_graph().
  • Calculează centralitatea gradului pentru proiecția studenților folosind nx.degree_centrality() (nu folosi versiunea bipartită).
  • Adaugă centralitatea medie a gradului la lista mean_dcs. Asigură-te că transformi mai întâi dc.values() într-o listă.
  • Apasă Trimite răspunsul pentru a vizualiza graficul!

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

from datetime import datetime, timedelta
import numpy as np
import networkx as nx
import matplotlib.pyplot as plt

# Initialize a new list: mean_dcs
mean_dcs = []
curr_day = dayone
td = timedelta(days=2)

while curr_day < lastday:
    if curr_day.day == 1:
        print(curr_day)  
    # Instantiate a new graph containing a subset of edges: G_sub
    G_sub = ____
    # Add nodes from G
    G_sub.____(____)
    # Add in edges that fulfill the criteria
    G_sub.____([(u, v, d) for u, v, d in G.edges(data=True) if d['date'] >= curr_day and d['date'] < curr_day + td])
    
    # Get the students projection
    G_student_sub = ____
    # Compute the degree centrality of the students projection
    dc = ____
    # Append mean degree centrality to the list mean_dcs
    mean_dcs.____(np.mean(____(dc.values())))
    # Increment the time
    curr_day += td
    
plt.plot(mean_dcs)
plt.xlabel('Time elapsed')
plt.ylabel('Degree centrality.')
plt.show()
Editează și rulează codul