我使用pySpark MLlib和盒子中的ALS方法进行协同过滤。只是想知道,Spark是否提供了一些其他的过滤方法(用于计算距离),例如Pearson's或Cosine's?它们可以在Spark环境中完成吗?
非常感谢!
答案 0 :(得分:1)
是Spark具有余弦相似性的实现。
https://github.com/apache/spark/blob/master/examples/src/main/scala/org/apache/spark/examples/mllib/CosineSimilarity.scala
scala中的示例
// Load and parse the data file.
val rows = sc.textFile(params.inputFile).map { line =>
val values = line.split(' ').map(_.toDouble)
Vectors.dense(values)
}.cache()
val mat = new RowMatrix(rows)
val exact = mat.columnSimilarities()