Bắt đầu ngayBắt đầu miễn phí

Xây dựng mô hình ALS

Hãy khai báo mô hình ALS đầu tiên của bạn. Hoàn thành đoạn mã bên dưới để xây dựng mô hình ALS đầu tiên.

Nhớ rằng bạn có thể dùng phương thức .columns trên dataframe ratings để xem tên các cột chứa dữ liệu người dùng, phim và điểm đánh giá. Spark cần biết tên các cột này để chạy ALS chính xác.

Bài tập này là một phần của khóa học

Xây dựng Recommendation Engine với PySpark

Xem khóa học

Hướng dẫn bài tập

  • Trước khi xây dựng mô hình ALS, bạn cần chia dữ liệu thành tập huấn luyện và tập kiểm tra. Dùng phương thức randomSplit() để chia dataframe ratings thành training_datatest_data theo tỷ lệ lần lượt 0.8/0.2 và đặt seed cho bộ sinh số ngẫu nhiên là 42.
  • Chỉ cho Spark biết những cột nào là userCol, itemColratingCol. Dùng phương thức .columns nếu cần. Hoàn thiện các siêu tham số. Đặt rank = 10, maxIter = 15, regParam (lambda) = .1, coldStartStrategy = "drop", đối số nonnegative đặt là True, và vì dữ liệu của chúng ta là đánh giá tường minh, đặt đối số implicitPrefsFalse.
  • Bây giờ hãy fit mô hình als trên phần training_data của dữ liệu ratings bằng cách gọi phương thức als.fit() trên training_data được cung cấp. Gọi mô hình đã fit là model.
  • Tạo dự đoán trên phần test_data của dữ liệu ratings bằng cách gọi phương thức model.transform() trên test_data được cung cấp. Gọi các dự đoán là test_predictions. Bạn có thể xem các dự đoán bằng cách gọi phương thức .show() trên test_predictions

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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()
Chỉnh sửa và Chạy Mã