Bir ALS modeli oluştur
Hadi ilk ALS modelini tanımlayalım. Aşağıdaki kodu tamamlayarak ilk ALS modelini oluştur.
ratings veri çerçevesi üzerinde .columns yöntemini kullanarak kullanıcı, film ve puan verilerini içeren sütunların adlarını görebileceğini unutma. Spark'ın ALS'yi doğru bir şekilde çalıştırabilmesi için bu sütun adlarını bilmesi gerekir.
Bu egzersiz, kursun bir parçasıdır
PySpark ile Öneri Motorları Oluşturma
Egzersiz talimatları
- ALS modelimizi kurmadan önce veriyi eğitim ve test olarak ayırmamız gerekiyor.
ratingsveri çerçevesinirandomSplit()yöntemiyle sırasıyla 0.8/0.2 oranındatraining_datavetest_dataolarak ayır ve rastgele sayı üreteci içinseeddeğerini42yap. - Spark'a hangi sütunların
userCol,itemColveratingColiçerdiğini bildir. Gerekirse.columnsyöntemini kullan. Hiperparametreleri tamamla.rankdeğerini 10,maxIterdeğerini 15,regParamya da lambda değerini .1,coldStartStrategydeğerini"drop",nonnegativeargümanınıTrueve verimiz açık puanlar içerdiği içinimplicitPrefsargümanınıFalseolarak ayarla. - Şimdi
alsmodeliniratingsverisinintraining_datakısmınaals.fit()yönteminitraining_dataüzerinde çağırarak uydur. Uydurulan modelemodeladını ver. ratingsverisinintest_datakısmı üzerindemodel.transform()yönteminitest_dataüzerinde çağırarak tahminler üret. Tahminleretest_predictionsadını ver. İstersen.show()yönteminitest_predictionsüzerinde çağırarak tahminleri görüntüleyebilirsin.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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()