无法解决符号规范

时间:2017-09-21 04:44:35

标签: scala apache-spark intellij-idea breeze

以下是我正在为推荐人工作的代码段。尽管

import breeze.linalg.Vector

已经完成,上面提到的错误在调用'norm'时出现。有人可以建议解决这个问题和原因。代码段如下。

object CosineDistance extends DistanceMetric with Serializable {
  def getDistance(v1: Vector[Double], v2: Vector[Double]) = {

    val dotProduct: Double = v1 dot v2
    val v1norm: Double = v1.norm(2.0)
    val v2norm: Double = v2.norm(2.0)

    1 - (dotProduct / (v1norm * v2norm))
  }

  override def getName: String = "cosine"

  override def getDescription: String = "Cosine distance"
}

1 个答案:

答案 0 :(得分:2)

对于norm,似乎implicits没有Vector,您应该像以下一样使用它:

  import breeze.linalg._
  val v1norm: Double = norm(v1, 2.0)