MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Muat himpunan data ratings.csv ke dalam sebuah RDD.
  • Pisahkan RDD menggunakan , sebagai delimiter.
  • Untuk setiap baris RDD, gunakan kelas Rating() untuk membuat tuple userID, 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])
Edit dan Jalankan Kode