दूसरे पार्टिशन में साझा नोड्स
रिकमेंडेशन सिस्टम की समझ बनाने के लिए, हम बुनियादी बातों से शुरुआत करेंगे. यहाँ फोकस बाइपार्टाइट ग्राफ़्स में यूज़र समानता (similarity) निकालने पर है.
आपका काम एक फंक्शन लिखना है जो दो नोड्स ले और उन दोनों यूज़र नोड्स के बीच साझा किए गए रिपोज़िटरी नोड्स का सेट लौटाए.
इस अभ्यास में आपको ये मेथड्स और फंक्शंस मदद करेंगे — .neighbors(), set(), और .intersection() — और बेशक, वह shared_partition_nodes फंक्शन जिसे आप परिभाषित करेंगे!
यह अभ्यास पाठ्यक्रम का हिस्सा है
इंटरमीडिएट Network Analysis in Python
अभ्यास निर्देश
shared_partition_nodes()नाम का एक फंक्शन लिखें जो 3 आर्ग्यूमेंट ले — ग्राफ़G,node1, औरnode2— औरnode1तथाnode2के बीच साझा किए गए नोड्स का सेट लौटाए.- assert स्टेटमेंट और
'bipartite'कीवर्ड का उपयोग करके जाँचें किnode1औरnode2एक ही पार्टिशन के हैं. node1के पड़ोसियों को प्राप्त करें और उन्हेंnbrs1के रूप में स्टोर करें.node2के पड़ोसियों को प्राप्त करें और उन्हेंnbrs2के रूप में स्टोर करें.
- assert स्टेटमेंट और
- सेट की
.intersection()मेथड का उपयोग करकेnbrs1औरnbrs2के बीच ओवरलैप निकालें. - अपने
shared_partition_nodes()फंक्शन कोlen()फंक्शन के साथ मिलाकर यूज़र्स'u7909'और'u2148'के बीच साझा रिपोज़िटरी की संख्या प्रिंट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
def ____:
# Check that the nodes belong to the same partition
assert G.nodes[____]['bipartite'] == G.nodes[____]['bipartite']
# Get neighbors of node 1: nbrs1
nbrs1 = ____
# Get neighbors of node 2: nbrs2
nbrs2 = ____
# Compute the overlap using set intersections
overlap = ____(____).____(____)
return overlap
# Print the number of shared repositories between users 'u7909' and 'u2148'
print(____(____))