Đang cố gắng xây dựng hệ thống đề xuất sử dụng ALS của Spark MLLib.Hướng dẫn tiếp cận Apache Spark ALS
Hiện tại, chúng tôi đang cố gắng tạo trước các đề xuất cho tất cả người dùng trên cơ sở hàng ngày. Chúng tôi đang sử dụng phản hồi ngầm đơn giản và ALS.
Vấn đề là, chúng tôi có 20 triệu người dùng và 30 triệu sản phẩm và gọi phương thức predict dự đoán chính(), chúng ta cần phải tham gia cartesian cho người dùng và sản phẩm, quá lớn và có thể mất nhiều ngày để tạo chỉ tham gia. Có cách nào để tránh tham gia cartesian để làm cho quá trình nhanh hơn?
Hiện tại chúng tôi có 8 nút với 64Gb RAM, tôi nghĩ rằng nó sẽ đủ cho dữ liệu.
val users: RDD[Int] = ??? // RDD with 20M userIds
val products: RDD[Int] = ??? // RDD with 30M productIds
val ratings : RDD[Rating] = ??? // RDD with all user->product feedbacks
val model = new ALS().setRank(10).setIterations(10)
.setLambda(0.0001).setImplicitPrefs(true)
.setAlpha(40).run(ratings)
val usersProducts = users.cartesian(products)
val recommendations = model.predict(usersProducts)
Vui lòng hiển thị cho chúng tôi mã của bạn để chúng tôi có thể giúp –
Cảm ơn, tôi đã cập nhật bài đăng đầu tiên của mình. –