2017-09-21 21 views
0

以下は、リコメンダのために取り組んでいるコードスニペットです。ただし、「ノルム」を呼び出すと上記のエラーが発生しましたが、シンボルノルムを解決できません

が作成されました。誰かがこの問題と理由の修正を提案してもらえますか?コードスニペットは次のとおりです。 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" 
} 

答えて

2

、あなたのようにそれを使用する必要があり、Vectorのためのimplicitsがないようだ。だから私は不当にそれを使用していたし、これがうまく働いた

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

。ありがとうございました ! – TheShark

関連する問題