शुरू करेंमुफ़्त में शुरू करें

एडिटिंग कम्युनिटीज़ का विश्लेषण

अब आप BFS एल्गोरिदम और maximal cliques की अवधारणा से जो सीखा है, उसे मिलाकर Arc plot के साथ नेटवर्क को visualize करेंगे.

Github यूज़र कोलैबोरेशन नेटवर्क में सबसे बड़ा maximal clique उपग्राफ़ G_lmc को असाइन किया गया है। ध्यान दें कि NetworkX संस्करण 2.x और बाद के लिए, G.subgraph(nodelist) मूल ग्राफ़ का केवल एक immutable view लौटाता है। एक mutable वर्ज़न पाने के लिए हमें ग्राफ़ की .copy() स्पष्ट रूप से माँगनी होगी.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में नेटवर्क विश्लेषण का परिचय

पाठ्यक्रम देखें

अभ्यास निर्देश

  • Clique से 1 degree of separation बाहर जाएँ और उन यूज़र्स को उपग्राफ़ में जोड़ें। पहले for लूप के अंदर:
    • .add_nodes_from() और .neighbors() मेथड्स का उपयोग करते हुए, G के neighbors से nodes को G_lmc में जोड़ें।
    • .add_edges_from() मेथड का प्रयोग करते हुए, current node और उसके सभी neighbors के बीच G_lmc में edges जोड़ें। ऐसा करने के लिए, zip() फंक्शन का उपयोग करके tuples की एक लिस्ट बनाएँ, जिसमें current node और उसके हर neighbor की जोड़ी हो। zip() का पहला आर्ग्युमेंट [node]*len(list(G.neighbors(node))) होना चाहिए, और दूसरा आर्ग्युमेंट node के neighbors होने चाहिए.
  • हर node के degree centrality स्कोर को उसके node metadata में रिकॉर्ड करें।
    • दूसरे for लूप में nx.degree_centrality(G_lmc)[n] को G_lmc.nodes[n]['degree centrality'] में असाइन करके यह कीजिए।
  • इस नेटवर्क को Arc plot से visualize करें और nodes को degree centrality के आधार पर sort करें (आप यह keyword आर्ग्युमेंट sort_by='degree centrality' देकर कर सकते हैं).

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# 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()
कोड संपादित करें और चलाएँ