प्रोजेक्शन निकालना
अब आपकी बारी है: बाइपार्टाइट ग्राफ का प्रोजेक्शन उसकी किसी एक पार्टीशन के नोड्स पर निकाल कर देखिए। इससे आपको बाइपार्टाइट ग्राफ और उसके यूनिपार्टाइट प्रोजेक्शंस के बीच कन्वर्ज़न का अभ्यास मिलेगा। वीडियो से याद रखें: किसी ग्राफ का किसी पार्टीशन पर "प्रोजेक्शन" का मतलब है उस पार्टीशन के नोड्स की आपसी कनेक्टिविटी, जो दूसरी पार्टीशन के नोड्स से जुड़े होने पर आधारित होती है। और ठोस तरीके से कहें, तो इसे ऐसे समझिए: "साझा खरीद पर आधारित कस्टमर्स की कनेक्टिविटी".
शुरू करने में मदद के लिए लिस्ट कॉम्प्रिहेंशन्स पर एक संकेत: लिस्ट कॉम्प्रिहेंशन्स में कंडीशंस हो सकती हैं, तो अगर आप किसी खास प्रकार के नोड के लिए ग्राफ को फ़िल्टर करना चाहते हैं, तो ऐसा कर सकते हैं: [n for n, d in G.nodes(data=True) if d['key'] == 'some_value'].
यह अभ्यास पाठ्यक्रम का हिस्सा है
इंटरमीडिएट Network Analysis in Python
अभ्यास निर्देश
- लिस्ट कॉम्प्रिहेंशन का उपयोग करके
peopleनोडलिस्ट तैयार करें। अगरGमें किसी नोडnका'bipartite'कीवर्ड'people'के बराबर है, तो वह नोड नोडलिस्ट का हिस्सा होना चाहिए. clubsनोडलिस्ट को G के नोड्स पर, मेटाडेटा समेत, इटरेट करके तैयार करें। यहाँ ध्यान दें कि आपको मेटाडेटा डिक्शनरीdके'bipartite'कीवर्ड के'clubs'होने की जाँच करनी है। नोट: यह नोडलिस्ट बनाने का बस एक वैकल्पिक तरीका है। आपको मेटाडेटा पर इटरेट करना अनिवार्य नहीं है — आप वही तरीका भी अपना सकते हैं जो आपनेpeopleनोडलिस्ट बनाते समय उपयोग किया था, बस'clubs'की जाँच करें। हम आपसे यहाँ दूसरा तरीका इसलिए कह रहे हैं ताकि दोनों तरीकों का अभ्यास हो.nx.bipartite.projected_graph()का उपयोग करके people और clubs के प्रोजेक्शंस निकालें। रिज़ल्ट्स कोpeopleGऔरclubsGके रूप में स्टोर करें.- यह फंक्शन दो आर्ग्युमेंट लेता है: ग्राफ
G, और नोडलिस्ट.
- यह फंक्शन दो आर्ग्युमेंट लेता है: ग्राफ
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Prepare the nodelists needed for computing projections: people, clubs
# This exercise shows you two ways to do it, one with `data=True` and one without.
people = [n for n in G.nodes() if G.nodes[____]['____'] == '____']
clubs = [n for n, d in G.nodes(data=True) if d['____'] == '____']
# Compute the people and clubs projections: peopleG, clubsG
peopleG = ____
clubsG = ____