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
Pokyny k cvičení
- Naimportuj
matplotlib.pyplotjakoplt. - Pomocí funkce
get_nodes_from_partition()z předchozího cvičení získej seznamuser_nodesodpovídající uzlům'users'v grafuG. - Pomocí funkce
nx.degree_centrality()vypočítej centrality stupňů pro každý uzel vG. Výsledek ulož jakodcs. - Pomocí list comprehension vypočítej centrality stupňů pro každý uzel v
user_nodes. Výsledek ulož jakouser_dcs.- Nezapomeň, že
dcsje slovník, jehož klíče jsou uzly. Příslušné uzly jsou uložené vuser_nodes. Jak tuto informaci využít k získání centralit uzlů uživatelů? Jako proměnnou iterátoru použijn.
- Nezapomeň, že
- Vykresli histogram distribuce stupňů uživatelů pomocí
plt.hist()auser_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()