MovieLens डेटासेट को RDDs में लोड करना
Collaborative filtering एक recommender systems की तकनीक है जिसमें उपयोगकर्ताओं की ratings और अलग-अलग प्रोडक्ट्स के साथ उनकी interactions के आधार पर नए प्रोडक्ट्स सुझाए जाते हैं. Machine Learning और डेटा की parallelized processing के आने से recommender systems हाल के वर्षों में बहुत लोकप्रिय हुए हैं और फिल्मों, संगीत, समाचार, किताबें, शोध लेख, search queries, social tags सहित कई क्षेत्रों में उपयोग किए जाते हैं. इस 3-भाग वाले अभ्यास में, आपका लक्ष्य PySpark MLlib का उपयोग करके MovieLens 100k dataset के एक subset पर एक सरल movie recommendation system बनाना है.
पहले भाग में, आप पहले MovieLens डेटा (ratings.csv) को RDD में लोड करेंगे और RDD की प्रत्येक पंक्ति, जिसका फ़ॉर्मेट userId,movieId,rating,timestamp है, से timestamp कॉलम हटाने के बाद MovieLens डेटा को Ratings ऑब्जेक्ट (userID, productID, rating) में map करेंगे, और अंत में RDD को training और test RDDs में बाँटेंगे.
ध्यान रखें, आपके workspace में SparkContext sc उपलब्ध है. साथ ही file_path वैरिएबल (जो ratings.csv फ़ाइल का path है), और ALS क्लास (यानी Rating) भी आपके workspace में पहले से उपलब्ध हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
PySpark के साथ Big Data Fundamentals
अभ्यास निर्देश
ratings.csvडेटासेट को एक RDD में लोड करें.- RDD को
,को delimiter मानकर split करें. - RDD की प्रत्येक पंक्ति के लिए,
Rating()क्लास का उपयोग करकेuserID, productID, ratingका tuple बनाएँ. - डेटा को randomly split करके training data और test data (0.8 और 0.2) में बाँटें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Load the data into RDD
data = sc.____(file_path)
# Split the RDD
ratings = data.____(lambda l: l.split('____'))
# Transform the ratings RDD
ratings_final = ratings.____(lambda line: Rating(int(line[0]), int(____), float(____)))
# Split the data into training and test
training_data, test_data = ratings_final.____([0.8, 0.2])