Začněte nyníZačněte zdarma

Distribuce centrality stupňů uzlů uživatelů

V tomto a následujícím cvičení si zopakuješ látku z předchozího kurzu. Tvým úkolem je vykreslit distribuce centrality stupňů pro každou část uzlů v bipartitní verzi sítě spolupráce na GitHubu. Tady se zaměříš na část 'users', v dalším cvičení pak na část 'projects'.

Funkce get_nodes_from_partition(), kterou jsi napsal/a dříve, je už načtená. Jen pro připomenutí: "centralita stupně" měří důležitost uzlu a "distribuce centrality stupňů" je seznam skóre centrality pro všechny uzly v grafu. Před pár cvičeními, při tvorbě circos plotu, jsme centrality stupňů vypočítali za tebe. Teď si to zkusíš sám/sama!

Toto cvičení je součástí kurzu

Intermediate Network Analysis in Python

Zobrazit kurz

Pokyny k cvičení

  • Naimportuj matplotlib.pyplot jako plt.
  • Pomocí funkce get_nodes_from_partition() z předchozího cvičení získej seznam user_nodes odpovídající uzlům 'users' v grafu G.
  • Pomocí funkce nx.degree_centrality() vypočítej centrality stupňů pro každý uzel v G. Výsledek ulož jako dcs.
  • Pomocí list comprehension vypočítej centrality stupňů pro každý uzel v user_nodes. Výsledek ulož jako user_dcs.
    • Nezapomeň, že dcs je slovník, jehož klíče jsou uzly. Příslušné uzly jsou uložené v user_nodes. Jak tuto informaci využít k získání centralit uzlů uživatelů? Jako proměnnou iterátoru použij n.
  • Vykresli histogram distribuce stupňů uživatelů pomocí plt.hist() a user_dcs.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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()
Upravit a spustit kód