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
Instruksi latihan
- Sebelum membangun model ALS, kita perlu membagi data menjadi data pelatihan dan data uji. Gunakan metode
randomSplit()untuk membagi dataframeratingsmenjaditraining_datadantest_datadengan pembagian masing-masing 0,8/0,2 danseeduntuk generator bilangan acak bernilai42. - Beri tahu Spark kolom mana yang berisi
userCol,itemCol, danratingCol. Gunakan metode.columnsjika diperlukan. Lengkapi hiperparameter. Aturrankke 10,maxIterke 15,regParamatau lambda ke .1,coldStartStrategyke"drop", argumennonnegativediatur keTrue, dan karena data kita berisi rating eksplisit, atur argumenimplicitPrefskeFalse. - Sekarang sesuaikan model
alske bagiantraining_datadari dataratingsdengan memanggil metodeals.fit()padatraining_datayang disediakan. Beri nama model yang telah terlatih tersebutmodel. - Hasilkan prediksi pada bagian
test_datadari dataratingsdengan memanggil metodemodel.transform()padatest_datayang disediakan. Beri nama prediksi tersebuttest_predictions. Silakan melihat prediksi dengan memanggil metode.show()padatest_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()