第五章(ALS算法)

代碼:

import org.apache.spark._
import org.apache.spark.mllib.recommendation.{ALS, Rating}

object CollaborativeFilter {
  def main(args: Array[String]) {
    val conf = new SparkConf().setMaster("local").setAppName("CollaborativeFilter ")	//設置環境變量
val sc = new SparkContext(conf)                                 //實例化環境
    val data = sc.textFile("c://u1.txt")								//設置數據集
val ratings = data.map(_.split(' ') match {						//處理數據
 case Array(user, item, rate) => 							//將數據集轉化
      Rating(user.toInt, item.toInt, rate.toDouble)				//將數據集轉化爲專用Rating
    })
    val rank = 2											//設置隱藏因子
    val numIterations = 2										//設置迭代次數
    val model = ALS.train(ratings, rank, numIterations, 0.01)			//進行模型訓練
    var rs = model.recommendProducts(2,1)						//爲用戶2推薦一個商品
    rs.foreach(println)										//打印結果
  }
}

結果:
Rating(2,15,3.91759837248388)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章