Vì vậy, tôi đang xây dựng một mô hình phản hồi recommender ngầm với Spark 1.0.0 và tôi đang cố gắng để làm theo tấm gương họ có trên trang lọc cộng tác của họ: http://spark.apache.org/docs/latest/mllib-collaborative-filtering.html#explicit-vs-implicit-feedbackSpark MLlib - Collaborative Filtering Implicit Thức ăn
Và tôi thậm chí có dataset kiểm tra nạp lên mà họ tham khảo trong ví dụ: http://codesearch.ruethschilling.info/xref/apache-foundation/spark/mllib/data/als/test.data
Tuy nhiên khi tôi cố gắng để chạy các mô hình phản hồi ngầm: alpha val = 0.01 mô hình val = ALS.trainImplicit (xếp hạng, cấp bậc, numIterations, alpha)
(xếp hạng là xếp hạng chính xác từ bộ dữ liệu và xếp hạng của họ = 10, numIterations = 20) Tôi nhận được lỗi sau:
scala> val model = ALS.trainImplicit(ratings, rank, numIterations, alpha)
<console>:26: error: overloaded method value trainImplicit with alternatives:
(ratings: org.apache.spark.rdd.RDD[org.apache.spark.mllib.recommendation.Rating],rank: Int,iterations: Int)org.apache.spark.mllib.recommendation.MatrixFactorizationModel <and>
(ratings: org.apache.spark.rdd.RDD[org.apache.spark.mllib.recommendation.Rating],rank: Int,iterations: Int,lambda: Double,alpha: Double)org.apache.spark.mllib.recommendation.MatrixFactorizationModel <and>
(ratings: org.apache.spark.rdd.RDD[org.apache.spark.mllib.recommendation.Rating],rank: Int,iterations: Int,lambda: Double,blocks: Int,alpha: Double)org.apache.spark.mllib.recommendation.MatrixFactorizationModel <and>
(ratings: org.apache.spark.rdd.RDD[org.apache.spark.mllib.recommendation.Rating],rank: Int,iterations: Int,lambda: Double,blocks: Int,alpha: Double,seed: Long)org.apache.spark.mllib.recommendation.MatrixFactorizationModel
cannot be applied to (org.apache.spark.rdd.RDD[org.apache.spark.mllib.recommendation.Rating], Int, Int, Double)
val model = ALS.trainImplicit(ratings, rank, numIterations, alpha)
Điều thú vị là, mô hình này chỉ chạy tốt khi không làm trainImplicit (ví dụ: ALS.train)
Hoàn hảo, tính toán 'số ma thuật' có vẻ hoạt động tốt! Cảm ơn rất nhiều vì sự giúp đỡ!! – atellez
Có 0,01 là một giá trị mặc định tốt cho lambda. –