MovieLens veri kümesini RDD’lere yükleme
Ortak filtreleme (collaborative filtering), öneri sistemlerinde kullanıcıların çeşitli ürünlere verdikleri puanlar ve etkileşimlerinden yararlanarak yeni ürünler önermeye yönelik bir tekniktir. Machine Learning’in ve paralel veri işleme yöntemlerinin yaygınlaşmasıyla, öneri sistemleri son yıllarda oldukça popüler hâle geldi ve filmler, müzik, haberler, kitaplar, araştırma makaleleri, arama sorguları, sosyal etiketler gibi pek çok alanda kullanılıyor. Bu 3 parçalı egzersizde amacın, MovieLens 100k veri kümesinin bir alt kümesini kullanarak PySpark MLlib ile basit bir film öneri sistemi geliştirmek.
İlk bölümde, MovieLens verisini (ratings.csv) bir RDD’ye yükleyeceksin ve RDD’deki her satır userId,movieId,rating,timestamp biçiminde olduğu için zaman damgası sütununu kaldırdıktan sonra MovieLens verisini Ratings nesnesine (userID, productID, rating) eşlemen gerekecek; son olarak RDD’yi eğitim ve test RDD’lerine böleceksin.
Unutma, çalışma alanında bir SparkContext sc mevcut. Ayrıca file_path değişkeni (ratings.csv dosyasının yolu) ve ALS sınıfı (yani Rating) da çalışma alanında hazır bulunuyor.
Bu egzersiz, kursun bir parçasıdır
PySpark ile Big Data Temelleri
Egzersiz talimatları
ratings.csvveri kümesini bir RDD’ye yükle.- RDD’yi ayıraç olarak
,kullanarak böl. - RDD’nin her satırı için
Rating()sınıfını kullanarakuserID, productID, ratingüçlüsünü oluştur. - Veriyi eğitim ve test olarak rastgele ayır (0.8 ve 0.2).
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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])