1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Úvod do analýzy sítí v Pythonu

Connected

cvičení

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().

Pokyny

100 XP
  • 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').