1. Apprendre
  2. /
  3. Cours
  4. /
  5. Wprowadzenie do analizy sieci w Pythonie

Connected

Exercice

Charakterystyka społeczności edytorów

Teraz połączysz wiedzę o algorytmie BFS i pojęciu maksymalnych klik, aby zwizualizować sieć za pomocą wykresu Arc.

Największa maksymalna klika w sieci współpracy użytkowników GitHub została przypisana do podgrafu G_lmc. Pamiętaj, że w wersji NetworkX 2.x i późniejszych G.subgraph(nodelist) zwraca jedynie niemodyfikowalny widok oryginalnego grafu. Aby uzyskać modyfikowalną wersję, musisz jawnie wywołać .copy() na grafie.

Instructions

100 XP
  • Wyjdź o 1 stopień separacji od kliki i dodaj tych użytkowników do podgrafu. Wewnątrz pierwszej pętli for:
    • Dodaj węzły do G_lmc z sąsiadów grafu G, korzystając z metod .add_nodes_from() i .neighbors().
    • Za pomocą metody .add_edges_from() dodaj krawędzie do G_lmc między bieżącym węzłem a wszystkimi jego sąsiadami. W tym celu utwórz listę krotek przy użyciu funkcji zip(), składającą się z bieżącego węzła i każdego z jego sąsiadów. Pierwszym argumentem zip() powinien być [node]*len(list(G.neighbors(node))), a drugim – sąsiedzi węzła node.
  • Zapisz wynik centralności stopnia każdego węzła w jego metadanych.
    • Zrób to, przypisując nx.degree_centrality(G_lmc)[n] do G_lmc.nodes[n]['degree centrality'] w drugiej pętli for.
  • Zwizualizuj tę sieć za pomocą wykresu Arc, sortując węzły według centralności stopnia (użyj do tego argumentu kluczowego sort_by='degree centrality').