2017-05-19 6 views
0

2 Spark Vector間のコサイン類似度を計算する方法。私は新しいmlパッケージを使用しています。計算コサイン類似点spark java

スパーク2.1.1

EDIT:

スパーク類似度を計算するために使用することができるRowMatrixを提供するが、それはmllib.vectorないml.vector受け付けます。

ベクターを異なるパッケージから変換する方法はありますか? ml.vectorを使用する実装はありますか?

+1

あなたが入力として二つのベクトルを取り、そこに計算を行うUDFを作成することができます。 – Shaido

答えて

1

mlベクターへmllibベクトルへ変換する最も簡単な方法はVectors documentationを参照して、Vectors.fromML方法を使用することです。例:

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 
+1

これは私が感謝の必要なものです。また、 '' mllib.Vector''から '' ml.Vector''に移動するには '' 'asll()' ''を '' mllib.Vector''インスタンスから直接使用してください。 – LonsomeHell

関連する問題