शून्य जोड़ें
कई रिकमेंडेशन इंजनों में इम्प्लिसिट रेटिंग्स का इस्तेमाल होता है। अक्सर इन डेटासेट्स में उन आइटम्स के लिए बिहेवियर काउंट्स नहीं होते जिन्हें किसी यूज़र ने कभी खरीदा ही नहीं। ऐसे मामलों में, आपको वे एंट्रीज़ जोड़नी होंगी और वहाँ शून्य (0) शामिल करना होगा। आपके लिए Z नाम का डेटाफ़्रेम दिया गया है। इसमें userId, productId और num_purchases हैं, जहाँ num_purchases बताता है कि किसी यूज़र ने किसी खास प्रोडक्ट को कितनी बार खरीदा है।
यह अभ्यास पाठ्यक्रम का हिस्सा है
PySpark के साथ Recommendation Engines बनाना
अभ्यास निर्देश
.show()मेथड का उपयोग करके डेटाफ़्रेमZको देखें..distinct()मेथड सेZमें से अलग-अलगuserIdऔरproductIdनिकालें। परिणामों को क्रमशःusersऔरproductsकहें.usersऔरproductsडेटाफ़्रेम पर.crossJoin()चलाएँ। परिणाम कोcjनाम दें.["userId", "productId"]पर मूल रेटिंग्स डेटाफ़्रेमZके साथcjको"left"जॉइन करें। नतीजे पर.fillna(0)मेथड कॉल करके खाली जगहों को शून्य से भरें। अंतिम परिणाम कोZ_expandedकहें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# View the data
Z.____()
# Extract distinct userIds and productIds
users = ____.select("____").____()
products = Z.____("productId").____()
# Cross join users and products
____ = users.____(products)
# Join cj and Z
____ = cj.join(Z, ["____", "____"], "left").____(0)
# View Z_expanded
____.show()