Mulai sekarangMulai gratis

Bangun model ALS

Mari tentukan model ALS pertama Anda. Lengkapi kode di bawah ini untuk membangun model ALS pertama Anda.

Ingat bahwa Anda dapat menggunakan metode .columns pada data frame ratings untuk melihat nama kolom yang memuat data pengguna, film, dan rating. Spark perlu mengetahui nama-nama kolom ini agar dapat menjalankan ALS dengan benar.

Latihan ini merupakan bagian dari kursus

Membangun Recommendation Engine dengan PySpark

Lihat Kursus

Instruksi latihan

  • Sebelum membangun model ALS, kita perlu membagi data menjadi data pelatihan dan data uji. Gunakan metode randomSplit() untuk membagi dataframe ratings menjadi training_data dan test_data dengan pembagian masing-masing 0,8/0,2 dan seed untuk generator bilangan acak bernilai 42.
  • Beri tahu Spark kolom mana yang berisi userCol, itemCol, dan ratingCol. Gunakan metode .columns jika diperlukan. Lengkapi hiperparameter. Atur rank ke 10, maxIter ke 15, regParam atau lambda ke .1, coldStartStrategy ke "drop", argumen nonnegative diatur ke True, dan karena data kita berisi rating eksplisit, atur argumen implicitPrefs ke False.
  • Sekarang sesuaikan model als ke bagian training_data dari data ratings dengan memanggil metode als.fit() pada training_data yang disediakan. Beri nama model yang telah terlatih tersebut model.
  • Hasilkan prediksi pada bagian test_data dari data ratings dengan memanggil metode model.transform() pada test_data yang disediakan. Beri nama prediksi tersebut test_predictions. Silakan melihat prediksi dengan memanggil metode .show() pada test_predictions

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# Split the ratings dataframe into training and test data
(training_data, test_data) = ratings.____([____, ____], seed=42)

# Set the ALS hyperparameters
from pyspark.ml.recommendation import ALS
als = ALS(userCol="____", itemCol="____", ratingCol="____", rank =____, maxIter =____, regParam =____,
          coldStartStrategy="____", nonnegative =____, implicitPrefs = ____)

# Fit the mdoel to the training_data
____ = ____.fit(____)

# Generate predictions on the test_data
____ = ____.transform(____)
test_predictions.show()
Edit dan Jalankan Kode