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

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

Giờ khi bạn đã xác định xong mọi giá trị siêu tham số, hãy để Spark xây đủ số mô hình để thử mọi kết hợp. Để hỗ trợ việc này, một vòng lặp for đã được cung cấp. Làm theo hướng dẫn bên dưới để tự động tạo các mô hình ALS này. Ở các bài tập tiếp theo, bạn sẽ chạy các mô hình này trên tập dữ liệu kiểm tra để xem mô hình nào hoạt động tốt nhất.

Thuật toán ALS đã được nhập sẵn cho bạn. Các danh sách bạn tạo trong bài tập trước (ranks, maxIters, regParams, alphas) cũng đã được tạo sẵn.

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

  • Một danh sách rỗng tên là model_list được cung cấp sẵn. Vòng lặp for sẽ tạo một mô hình cho mỗi tổ hợp siêu tham số được đưa vào và thêm nó vào model_list.
  • Hoàn thiện vòng lặp for bằng cách tham chiếu nội dung của từng danh sách, trong đó r là các phần tử của danh sách ranks, mi là các phần tử của danh sách maxIters, rp là các phần tử của danh sách regParamsa là các phần tử của danh sách alphas.
  • In len(model_list) cũng như model_list để đảm bảo mỗi mô hình đã được tạo. Độ dài phải bằng tích độ dài của tất cả các danh sách siêu tham số ở trên. Bạn có thể chạy phần kiểm tra bổ sung được cung cấp để chắc chắn.

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.

# For loop will automatically create and store ALS models
for r in ____:
    for mi in ____:
        for rp in ____:
            for a in ____:
                model_list.append(ALS(userCol= "userId", itemCol= "songId", ratingCol= "num_plays", rank = r, maxIter = mi, regParam = rp, alpha = a, coldStartStrategy="drop", nonnegative = True, implicitPrefs = True))

# Print the model list, and the length of model_list
print (model_list, "Length of model_list: ", len(____))

# Validate
len(model_list) == (len(ranks)*len(maxIters)*len(regParams)*len(alphas))
Chỉnh sửa và Chạy Mã