java - 计算余弦相似度spark java

标签 java apache-spark cosine-similarity

如何计算 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/

相关文章:

apache-spark - 黑斑羚与 SparkSQL : built-in function translation: fnv_hash

machine-learning - 查找两个用户配置文件之间的相似性

java - 成本打印不正确

java - 使用 Jersey 在 Java 中向移动 Safari 浏览器提供 mp3

apache-spark - 从 S3 Bucket 读取文件到 PySpark Dataframe Boto3

apache-spark - 将字段加载并映射到Hive Table

python - 如何使用python通过余弦相似度有效地检索前K个相似文档?

python - 如何在百万文档分类中找到异常值?

java - 为什么处于 BLOCKED 状态的线程不会被中断?

java - 如何将文件传递到 Java Matcher 中?