def cos(x:Array[Double],y:Array[Double]):Double={ val dot = for{i <- 0 until x.length} yield x(i) * y(i) val normx = math.sqrt( x.map(v=>{ math.pow(v,2) }).sum) val normy = math.sqrt( y.map(v=>{ math.pow(v,2) }).sum) dot.sum / (normx*normy)}
?
代码2
def cos(x: DenseVector[Double], y: DenseVector[Double])={ val dot = x.dot(y) val normxy = norm(x) * norm(y) dot/normxy}
余弦相似度计算
原文:https://blog.51cto.com/u_15261296/2954885