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

ऐसे co-editors की सिफारिश करना जिन्होंने अभी साथ में edit नहीं किया है

आखिर में, आप open triangles की अवधारणा का उपयोग करके GitHub पर सहयोग के लिए यूज़र्स की सिफारिश करेंगे!

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

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

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

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

  • ऐसे GitHub यूज़र्स की सूची तैयार करें जिन्हें एक-दूसरे के साथ collaborate करने की सिफारिश की जानी चाहिए. इसके लिए:
    • पहले for लूप में, G के सभी नोड्स पर उनके मेटाडेटा सहित iterate करें (इसके लिए data=True दें).
    • दूसरे for लूप में, सभी संभावित triangle कॉम्बिनेशन पर iterate करें, जिन्हें size 2 के साथ combinations() फंक्शन से पाया जा सकता है.
    • अगर n1 और n2 के बीच edge नहीं है, तो इन दो नोड्स (यूज़र्स) के बीच collaboration की सिफारिश होनी चाहिए. ऐसे में recommended डिक्शनरी में (n1), (n2) वाले मान को increment करें. आप .has_edge() मेथड से जाँच सकते हैं कि n1 और n2 के बीच edge है या नहीं.
  • एक list comprehension का उपयोग करके उन टॉप 10 यूज़र-पेयर्स की पहचान करें जिन्हें collaborate करने की सिफारिश होनी चाहिए. Iterable recommended डिक्शनरी के key-value पेयर्स होने चाहिए (जिन्हें .items() मेथड से एक्सेस किया जा सकता है), जबकि conditional तब संतुष्ट हो जब count all_counts के टॉप 10 से greater हो. ध्यान दें कि all_counts ascending ऑर्डर में sorted है, इसलिए आप टॉप 10 को all_counts[-10] से एक्सेस कर सकते हैं.

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

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

# Import necessary modules
from itertools import combinations
from collections import defaultdict

# Initialize the defaultdict: recommended
recommended = defaultdict(int)

# Iterate over all the nodes in G
for n, d in ____:

    # Iterate over all possible triangle relationship combinations
    for n1, n2 in ____(list(G.neighbors(n)), ____):

        # Check whether n1 and n2 do not have an edge
        if not G.has_edge(____, ____):

            # Increment recommended
            ____[(____, ____)] += 1

# Identify the top 10 pairs of users
all_counts = sorted(recommended.values())
top10_pairs = [pair for pair, count in ____ if ____ > ____]
print(top10_pairs)
कोड संपादित करें और चलाएँ