Memuat himpunan data MovieLens ke dalam RDD
Collaborative filtering adalah teknik untuk sistem rekomendasi di mana rating dan interaksi pengguna dengan berbagai produk digunakan untuk merekomendasikan produk baru. Dengan hadirnya Machine Learning dan pemrosesan data paralel, sistem rekomendasi menjadi sangat populer dalam beberapa tahun terakhir, dan digunakan di berbagai bidang termasuk film, musik, berita, buku, artikel riset, kueri penelusuran, dan tag sosial. Dalam latihan 3-bagian ini, tujuan Anda adalah mengembangkan sistem rekomendasi film sederhana menggunakan PySpark MLlib dengan subset dari MovieLens 100k dataset.
Pada bagian pertama, Anda akan memuat data MovieLens (ratings.csv) ke dalam RDD, dan dari setiap baris dalam RDD yang berformat userId,movieId,rating,timestamp, Anda perlu memetakan data MovieLens ke objek Ratings (userID, productID, rating) setelah menghapus kolom timestamp, dan akhirnya membagi RDD menjadi RDD pelatihan dan pengujian.
Ingat, Anda memiliki SparkContext sc yang tersedia di workspace Anda. Selain itu variabel file_path (yang merupakan path ke file ratings.csv), dan kelas ALS (yaitu Rating) sudah tersedia di workspace Anda.
Latihan ini adalah bagian dari kursus
Fundamental Big Data dengan PySpark
Petunjuk latihan
- Muat himpunan data
ratings.csvke dalam sebuah RDD. - Pisahkan RDD menggunakan
,sebagai delimiter. - Untuk setiap baris RDD, gunakan kelas
Rating()untuk membuat tupleuserID, productID, rating. - Bagi data secara acak menjadi data pelatihan dan data pengujian (0,8 dan 0,2).
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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])