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

Sparsity की गणना करें

जैसा कि आप जानते हैं, ALS स्पार्स डेटासेट्स पर अच्छा काम करता है. चलिए देखते हैं कि ratings मैट्रिक्स का कितना हिस्सा वास्तव में खाली है.

याद रखें, sparsity उस मैट्रिक्स की उन कोशिकाओं (cells) की संख्या से निकाली जाती है जिनमें रेटिंग है, विभाजित कुल संभावित मानों से जिन्हें वह मैट्रिक्स दिए गए यूज़र्स और आइटम्स (मूवीज़) की संख्या के आधार पर रख सकता है. दूसरे शब्दों में, मैट्रिक्स में मौजूद रेटिंग्स की संख्या को उस मैट्रिक्स में यूज़र्स और मूवीज़ के गुणनफल से भाग देकर, और उसे 1 में से घटाने पर हमें sparsity मिलती है — यानी ratings मैट्रिक्स का वह प्रतिशत जो खाली है.

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

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

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

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

  • ratings मैट्रिक्स में मौजूद कुल रेटिंग्स को गिनकर sparsity मेट्रिक का numerator निकालें.
  • ratings मैट्रिक्स में distinct() userIds और distinct() movieIds की संख्या निकालें.
  • यूज़र्स की संख्या को मूवीज़ की संख्या से गुणा करके sparsity मेट्रिक का denominator निकालें.
  • numerator को denominator से भाग दें, परिणाम को 1 में से घटाएँ और 100 से गुणा करें, फिर sparsity को प्रिंट करें. 1.0 जोड़ने का उद्देश्य यह सुनिश्चित करना है कि sparsity एक दशमलव के रूप में लौटे, integer के रूप में नहीं.

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

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

# Count the total number of ratings in the dataset
numerator = ____.select("____").count()

# Count the number of distinct userIds and distinct movieIds
num_users = ____.select("____").____().count()
num_movies = ____.select("____").____().count()

# Set the denominator equal to the number of users multiplied by the number of movies
denominator = ____ * ____

# Divide the numerator by the denominator
sparsity = (1.0 - (____ *1.0)/____)*100
print("The ratings dataframe is ", "%.2f" % sparsity + "% empty.")
कोड संपादित करें और चलाएँ