MSE का उपयोग करके मॉडल मूल्यांकन
टेस्ट डेटा से ALS मॉडल द्वारा predicted ratings निकालने के बाद, इस अभ्यास के अंतिम भाग में आप मॉडल का Mean Square Error (MSE) निकालने के लिए डेटा तैयार करेंगे. MSE सभी users के लिए (original rating – predicted rating)**2 का औसत होता है और यह बताता है कि मॉडल डेटा पर कितना सटीक fit होता है.
इसके लिए, पहले आप ratings_final और predictions दोनों RDDs को इस तरह व्यवस्थित करेंगे कि ((user, product), rating) के ट्यूपल बनें. दोनों RDDs में मैपिंग इस प्रकार है:
0: user
1: product
2: rating
इसके बाद आप transformed RDDs को join करेंगे और अंत में squared difference फंक्शन के साथ mean() लगाकर MSE प्राप्त करेंगे.
ध्यान रखें, आपके वर्कस्पेस में SparkContext sc उपलब्ध है. साथ ही, ratings_final और predictions RDD पहले से आपके वर्कस्पेस में उपलब्ध हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
PySpark के साथ Big Data Fundamentals
अभ्यास निर्देश
ratingsRDD को((user, product), rating)बनाने के लिए व्यवस्थित करें.predictionsRDD को((user, product), rating)बनाने के लिए व्यवस्थित करें.- prediction RDD को ratings RDD के साथ join करें.
- original rating और predicted rating के बीच MSE निकालकर मॉडल का मूल्यांकन करें और उसे प्रिंट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Prepare ratings data
rates = ratings_final.____(lambda r: ((r[0], r[1]), ____))
# Prepare predictions data
preds = predictions.____(lambda r: ((____, ____), ____))
# Join the ratings data with predictions data
rates_and_preds = rates.____(preds)
# Calculate and print MSE
MSE = rates_and_preds.____(lambda r: (r[1][0] - r[1]____)**2).mean()
print("Mean Squared Error of the model for the test data = {:.2f}".format(____))