BaşlayınÜcretsiz başlayın

Düzenleme topluluklarını karakterize etme

Şimdi BFS algoritması ve maksimal klik kavramı hakkında öğrendiklerini birleştirerek ağı bir Arc plot ile görselleştireceksin.

Github kullanıcı iş birliği ağındaki en büyük maksimal klik, G_lmc alt grafına atanmıştır. NetworkX sürüm 2.x ve sonrasında, G.subgraph(nodelist)'in özgün graf üzerinde yalnızca değiştirilemez bir görünüm döndürdüğünü unutma. Değiştirilebilir bir sürüm elde etmek için grafın açıkça .copy() ile kopyalanması gerekir.

Bu egzersiz, kursun bir parçasıdır

Python ile Ağ Analizine Giriş

Kursa Göz Atın

Egzersiz talimatları

  • Klikten 1 derece uzaklığa kadar git ve bu kullanıcıları alt grafa ekle. İlk for döngüsü içinde:
    • .add_nodes_from() ve .neighbors() yöntemlerini kullanarak G'nin komşularından düğümleri G_lmc'ye ekle.
    • .add_edges_from() yöntemini kullanarak, geçerli düğüm ile tüm komşuları arasında G_lmc'ye kenarlar ekle. Bunu yapmak için, geçerli düğüm ve her bir komşusundan oluşan bir demet (tuple) listesi oluşturmak üzere zip() fonksiyonunu kullanacaksın. zip()'in ilk argümanı [node]*len(list(G.neighbors(node))), ikinci argümanı ise node'un komşuları olmalı.
  • Her düğümün derece merkeziliği puanını düğüm metaverisine kaydet.
    • Bunu, ikinci for döngüsünde nx.degree_centrality(G_lmc)[n] ifadesini G_lmc.nodes[n]['degree centrality']'ye atayarak yap.
  • Bu ağı, düğümleri derece merkeziliğine göre sıralayan bir Arc plot ile görselleştir (bunu sort_by='degree centrality' anahtar argümanını kullanarak yapabilirsin).

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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()
Kodu Düzenle ve Çalıştır