Kom igångKom igång gratis

Fördelning av graders centralitet för användarnoder

I den här övningen och nästa ska du göra en kort repetition av material från föregående kurs. Din uppgift är att rita fördelningarna av graders centralitet för varje nodpartition i den bipartita versionen av GitHub-samarbetsnätverket. Här gör du det för partitionen 'users'. I nästa övning gör du det för partitionen 'projects'.

Funktionen get_nodes_from_partition() som du skrev tidigare är redan inläst. Som en påminnelse: "graders centralitet" är ett mått på hur viktig en nod är, och "fördelningen av graders centralitet" är listan med centralitetspoäng för alla noder i grafen. För några övningar sedan, när du skapade circos-plotten, beräknade vi graders centralitet åt dig. Nu får du öva på att göra det själv!

Den här övningen är en del av kursen

Nätverksanalys i Python – fortsättningskurs

Visa kurs

Övningsinstruktioner

  • Importera matplotlib.pyplot som plt.
  • Använd din funktion get_nodes_from_partition() från föregående övning för att skapa en lista kallad user_nodes som motsvarar noderna 'users' i G.
  • Beräkna graders centralitet för varje nod i G med funktionen nx.degree_centrality(). Spara resultatet som dcs.
  • Använd en listomfattning för att beräkna graders centralitet för varje nod i user_nodes. Spara resultatet som user_dcs.
    • Kom ihåg att dcs är en ordbok där nycklarna är noderna. De relevanta noderna finns i user_nodes. Hur kan du använda den informationen för att hämta centralitetsvärdena för användarnoderna? Använd n som iteratorvariabel.
  • Rita ett histogram över gradsfördelningen för användare med plt.hist() och user_dcs.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod