所以我建立星火1.0.0隱式反饋推薦的模型,我試圖按照他們有他們的協同過濾頁面上的例子: http://spark.apache.org/docs/latest/mllib-collaborative-filtering.html#explicit-vs-implicit-feedback星火MLlib - 協同過濾隱飼料
而且我甚至有的測試數據集裝起來它們在例如參考: http://codesearch.ruethschilling.info/xref/apache-foundation/spark/mllib/data/als/test.data
然而,當我嘗試運行隱式反饋模型: VAL阿爾法= 0.01 VAL模型= ALS.trainImplicit(評分,秩,numIterations,阿爾法)
(收視率從他們的數據集和秩= 10,正是收視率numIterations = 20),我收到以下錯誤:
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)
有趣的是,這種模式運行時沒有做trainImplicit就好了(即ALS.train)
完美的,'神奇數字'計算似乎工作得很好!非常感謝你的幫助!! – atellez 2014-09-03 20:18:52
是的0.01對於lambda來說是一個很好的默認值。 – 2014-09-03 20:31:00