case (itF_1, itF_2)模式匹配是根据什么判断 上面代码也没有这两个参数
来源:9-4 离线推荐:基于物品角度召回策略筛选候选集(上)

慕设计4006959
2021-04-24
写回答
1回答
-
小简同学
2021-04-25
同学你好,case (itF_1, itF_2) 是指匹配 (itF_1, itF_2) 这种类型,在上面的itemFactors.crossJoin(itemFactors).as[(Seq[(Int,Array[Float])],Seq[(Int,Array[Float])])] 已经将itemFactors.crossJoin(itemFactors)转换为(Seq[(Int,Array[Float])],Seq[(Int,Array[Float])])这种结构,所以 (itF_1, itF_2) 匹配的就是(Seq[(Int,Array[Float])],Seq[(Int,Array[Float])]),其中itF_1,itF_2分别对应的是(Seq[(Int,Array[Float])],Seq[(Int,Array[Float])])里第1位的Seq[(Int,Array[Float])],和第2位的Seq[(Int,Array[Float])],关于基于物品协同过滤的召回,这段代码,由于需要用到余弦相似度计算物品间的相似度,而且是通过RDD计算,代码看起来会有点别扭,祝学习愉快
00
相似问题