【发布时间】:2016-03-16 22:47:41
【问题描述】:
我有逻辑回归模式,我将阈值明确设置为 0.5。
model.setThreshold(0.5)
我训练模型,然后我想获得基本的统计数据——精度、召回率等。
这是我评估模型时所做的:
val metrics = new BinaryClassificationMetrics(predictionAndLabels)
val precision = metrics.precisionByThreshold
precision.foreach { case (t, p) =>
println(s"Threshold is: $t, Precision is: $p")
}
我得到的结果只有 0.0 和 1.0 作为阈值,而 0.5 被完全忽略。
这是上述循环的输出:
阈值为:1.0,精度为:0.8571428571428571
阈值为:0.0,精度为:0.3005181347150259
当我调用 metrics.thresholds() 时,它也只返回两个值,0.0 和 1.0。
如何获得阈值为 0.5 的准确率和召回率值?
【问题讨论】:
标签: apache-spark apache-spark-mllib