计算余弦相似度火花 java
Compute cosine similarity spark java
如何计算 2 个 Spark Vector 之间的余弦相似度。我正在使用新的 ml 包。
Spark 2.1.1
编辑:
Spark 提供可用于计算相似度的 RowMatrix,但它接受 mllib.vector
而不是 ml.vector
。
有没有办法从不同的包中转换 Vectors?
是否有使用 ml.vector
的实现?
从 mllib
向量转换为 ml
向量的最简单方法是使用 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
如何计算 2 个 Spark Vector 之间的余弦相似度。我正在使用新的 ml 包。
Spark 2.1.1
编辑:
Spark 提供可用于计算相似度的 RowMatrix,但它接受 mllib.vector
而不是 ml.vector
。
有没有办法从不同的包中转换 Vectors?
是否有使用 ml.vector
的实现?
从 mllib
向量转换为 ml
向量的最简单方法是使用 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