package com.keyboard.pro_test
import org.apache.log4j.{Level, Logger}
import org.apache.spark.ml.feature.StringIndexer
import org.apache.spark.mllib.linalg
import org.apache.spark.mllib.linalg.distributed.{CoordinateMatrix, IndexedRow, MatrixEntry, RowMatrix}
import org.apache.spark.rdd.RDD
import org.apache.spark.sql.{SaveMode, SparkSession}
import scala.collection.mutable.ArrayBuffer
/**
* 建立物品的相似度,来进行推荐
* 基本的逻辑是:首先得到某个用户评价过(买过的商品),
* 然后计算其他商品与改商品的相似度,并排序;从高到低,把不在用户评价过的商品里的其他商品推荐给用户
* SUCCESS
*/
object sparkMllibItemCF {
def main(args: Array[String]): Unit = {
Logger.getLogger("org.apache.spark").setLevel(Level.ERROR)
Logger.getLogger("org.eclipse.jetty.server").setLevel(Level.OFF)
val spark = SparkSession
.builder()
.appName("sparkMllibItemCF")
.enableHiveSupport()
.getOrCreate()
import spark.implicits._
val start_
Spark ItemCF推荐算法(mllib) 余弦相似度实现:
最新推荐文章于 2024-08-02 20:10:36 发布
本文详细介绍了如何使用Spark的mllib库实现基于物品的协同过滤(ItemCF)推荐算法,重点在于利用余弦相似度计算物品之间的相似性。通过这种方法,可以为用户推荐他们可能感兴趣但尚未发现的物品。
摘要由CSDN通过智能技术生成