/ / Calculez la similarité de cosinus spark java - java, apache-spark

Calculer la similarité en cosinus spark java - java, apache-spark, similarité cosinus

Comment calculer la similarité en cosinus entre 2 Spark Vector. J'utilise le nouveau package ml.

Spark 2.1.1

MODIFIER:

Spark fournit RowMatrix qui peut être utilisé pour calculer la similarité mais accepte mllib.vector pas un ml.vector.

Est-il possible de convertir des vecteurs à partir de différents packages? Existe-t-il une implémentation utilisant ml.vector?

Réponses:

1 pour la réponse № 1

Le moyen le plus simple de convertir un mllib vecteur à un ml vecteur est d'utiliser le Vectors.fromML méthode, voir Documentation Vecteurs. Exemple:

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())

Donne une sortie:

class org.apache.spark.ml.linalg.DenseVector
class org.apache.spark.mllib.linalg.DenseVector