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

Charakteristika editačních komunit

Teď zkombinuješ, co ses naučil/a o algoritmu BFS a konceptu maximálních klik, a vizualizuješ síť pomocí Arc plotu.

Největší maximální klika v síti spolupráce uživatelů GitHubu byla přiřazena do podgrafu G_lmc. Poznámka: ve verzi NetworkX 2.x a novějších vrací G.subgraph(nodelist) pouze neměnný pohled na původní graf. Abychom získali editovatelnou verzi, musíme explicitně zavolat .copy().

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

Úvod do analýzy sítí v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Vyjdi 1 stupeň separace od kliky a přidej tyto uživatele do podgrafu. Uvnitř první smyčky for:
    • Přidej uzly do G_lmc ze sousedů grafu G pomocí metod .add_nodes_from() a .neighbors().
    • Pomocí metody .add_edges_from() přidej do G_lmc hrany mezi aktuálním uzlem a všemi jeho sousedy. K tomu vytvoř seznam dvojic pomocí funkce zip() složený z aktuálního uzlu a každého z jeho sousedů. Prvním argumentem zip() by mělo být [node]*len(list(G.neighbors(node))) a druhým argumentem sousedé uzlu node.
  • Zaznamenej skóre centrality stupně každého uzlu do jeho metadat.
    • Udělej to tak, že ve druhé smyčce for přiřadíš nx.degree_centrality(G_lmc)[n] do G_lmc.nodes[n]['degree centrality'].
  • Vizualizuj tuto síť pomocí Arc plotu, kde uzly seřadíš podle centrality stupně (použij pojmenovaný argument sort_by='degree centrality').

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 necessary modules
from nxviz import arc
import matplotlib.pyplot as plt

# Identify the largest maximal clique: largest_max_clique
largest_max_clique = set(sorted(nx.find_cliques(G), key=lambda x: len(x))[-1])

# Create a subgraph from the largest_max_clique: G_lmc
G_lmc = G.subgraph(largest_max_clique).copy()

# Go out 1 degree of separation
for node in list(G_lmc.nodes()):
    G_lmc.add_nodes_from(____)
    G_lmc.add_edges_from(zip(____, ____))

# Record each node's degree centrality score
for n in G_lmc.nodes():
    ____ = ____

# Create the Arc plot: a
a = ____

# Draw the Arc plot to the screen
a
plt.show()
Upravit a spustit kód