【发布时间】:2016-06-22 18:29:01
【问题描述】:
我正在尝试使用 spark RankingMetrics.meanAveragePrecision。 但是,它似乎没有按预期工作。
val t2 = (Array(0,0,0,0,1), Array(1,1,1,1,1))
val r = sc.parallelize(Seq(t2))
val rm = new RankingMetrics[Int](r)
rm.meanAveragePrecision // Double = 0.2
rm.precisionAt(5) // Double = 0.2
t2 是一个元组,其中左侧数组表示真实值,右侧数组表示预测值(1 - 相关文档,0- 不相关)
如果我们计算 t2 的平均精度,我们会得到: (0/1 + 0/2 + 0/3 + 0/4 + 1/5)/5 = 1/25 但是 RankingMetric 返回 0.2 的 MeanAveragePrecision 应该是 1/25。
谢谢。
【问题讨论】:
标签: scala apache-spark machine-learning evaluation