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

समूहीकृत सार-सांख्यिकी

इस अभ्यास में, आप पहले इस्तेमाल किए गए .groupBy() और .filter() मेथड्स को जोड़कर यह निकालेंगे कि हर गीत को रेट करने वाले यूज़र्स की संख्या का min() और avg() क्या है, और हर यूज़र ने जितने गीतों को रेट किया है, उनकी संख्या का min() और avg() क्या है.

क्योंकि अब हमारे डेटा में न उपभोग किए गए items के लिए 0 शामिल है, इसलिए ऐसी समूहीकृत सार-सांख्यिकी निकालते समय हमें उन्हें .filter() करके हटाना होगा. आपके लिए यहाँ msd डेटासेट उपलब्ध है. pyspark.sql.functions से col(), min(), और avg() फंक्शंस पहले से इम्पोर्ट किए गए हैं.

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

PySpark के साथ Recommendation Engines बनाना

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

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

  • उदाहरण के तौर पर, .filter(), .groupBy() और .count() मेथड्स को msd डेटासेट पर .select() और min() के साथ मिलाकर लगाया गया है ताकि यह लौटाया जा सके कि डेटासेट में किसी भी गीत को मिली रेटिंग्स की सबसे छोटी संख्या क्या है. इसी मॉडल का उपयोग करके msd में मौजूद गीतों को मिली implicit ratings की avg() संख्या निकालिए.
  • इसी मॉडल का उपयोग करते हुए, msd डेटासेट में userIds द्वारा दी गई implicit ratings की min() और avg() संख्या ढूँढिए.

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

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

# Min num implicit ratings for a song
print("Minimum implicit ratings for a song: ")
msd.filter(col("num_plays") > 0).groupBy("songId").count().select(min("count")).show()

# Avg num implicit ratings per songs
print("Average implicit ratings per song: ")
____.filter(____("____") > 0).groupBy("____").count().____(avg("____")).____()

# Min num implicit ratings from a user
print("Minimum implicit ratings from a user: ")
msd.____(____("num_plays") > ____).____("userId").____().select(____("____")).____()

# Avg num implicit ratings for users
print("Average implicit ratings per user: ")
____.filter(col("num_plays") > 0).____("____").____().____(____("____")).____()
कोड संपादित करें और चलाएँ