Advertisement
Guest User

Untitled

a guest
Aug 24th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.74 KB | None | 0 0
  1.   private def precisionAtK(k: Int, actual: Array[Int], predicted: Array[Int]): Double = {
  2.     val pred = predicted.take(k)
  3.     val a = actual.length
  4.     actual.intersect(pred).length / a : Double
  5.   }
  6.  
  7.   def averagePrecisionAtK(k: Int) = {
  8.     new Score[Array[Int]] with PerformanceScore {
  9.       //TODO
  10.       override def evaluate(data: DataSet[(Array[Int], Array[Int])]): DataSet[Double] = {
  11.         val perUser = data.map { trueAndPred => precisionAtK(k, trueAndPred._1, trueAndPred._2)
  12.           val pred = trueAndPred._2.take(k)
  13.           val a = trueAndPred._1.length
  14.           trueAndPred._1.intersect(pred).length / a : Double}
  15.         }
  16.           //val perUser = data.map(trueAndPred => 2)
  17.         perUser.mean()
  18.       }
  19.     }
  20.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement