如何计算 2 个 Spark vector 之间的余弦相似度。我正在使用新的 ml 包。
Spark 2.1.1
编辑:
Spark 提供了 RowMatrix,可用于计算相似度,但它接受 mllib.vector
而不是 ml.vector
。
有没有办法转换不同包中的 vector ?
是否有使用 ml.vector
的实现?
最佳答案
从 mllib
vector 转换为 ml
vector 的最简单方法是使用 Vectors.fromML
方法,请参阅 Vectors documentation 。示例:
val mlVector = org.apache.spark.ml.linalg.Vectors.dense((Array(1.0,2.0,3.0)))
println(mlVector.getClass())
val mllibVector = org.apache.spark.mllib.linalg.Vectors.fromML(mlVector)
println(mllibVector.getClass())
给出输出:
class org.apache.spark.ml.linalg.DenseVector
class org.apache.spark.mllib.linalg.DenseVector
关于java - 计算余弦相似度spark java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44073307/