ÎncepețiÎncepe gratuit

Distribuția centralității de grad a nodurilor utilizator

În acest exercițiu și în cel următor, vei face o recapitulare finală a materialului din cursul anterior. Sarcina ta este să reprezinți grafic distribuțiile centralității de grad pentru fiecare partiție de noduri din versiunea bipartită a rețelei de colaborare GitHub. Aici vei face acest lucru pentru partiția 'users'. În exercițiul următor, vei repeta operațiunea pentru partiția 'projects'.

Funcția pe care ai scris-o anterior, get_nodes_from_partition(), a fost deja încărcată. Ca să-ți reamintești, „centralitatea de grad" este o măsură a importanței unui nod, iar „distribuția centralității de grad" reprezintă lista scorurilor de centralitate de grad pentru toate nodurile din graf. Cu câteva exerciții în urmă, când ai creat graficul circos, am calculat centralitățile de grad pentru tine. Acum vei exersa să faci acest lucru singur!

Acest exercițiu face parte din cursul

Analiză intermediară a rețelelor în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă matplotlib.pyplot ca plt.
  • Folosește funcția get_nodes_from_partition() din exercițiul anterior pentru a obține o listă numită user_nodes, corespunzătoare nodurilor 'users' din G.
  • Folosind funcția nx.degree_centrality(), calculează centralitățile de grad pentru fiecare nod din G. Stochează rezultatul în variabila dcs.
  • Folosește o comprehensiune de listă pentru a calcula centralitățile de grad pentru fiecare nod din user_nodes. Stochează rezultatul în variabila user_dcs.
    • Reține că dcs este un dicționar în care cheile sunt nodurile. Nodurile relevante se află în user_nodes. Cum poți folosi această informație pentru a obține centralitățile de grad ale nodurilor utilizator? Folosește n ca variabilă iterator.
  • Reprezintă o histogramă a distribuției de grad a utilizatorilor, folosind plt.hist() și user_dcs.

Exercițiu interactiv practic

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

# Import matplotlib
____

# Get the 'users' nodes: user_nodes
user_nodes = ____

# Compute the degree centralities: dcs
dcs = ____

# Get the degree centralities for user_nodes: user_dcs
user_dcs = [dcs[____] for n in ____]

# Plot the degree distribution of users_dcs
plt.yscale('log')
plt.hist(____, bins=20)
plt.show()
Editează și rulează codul