SPARK LR二进制类,我无法区分整体精度和精度之间的精度

时间:2016-03-07 08:00:09

标签: apache-spark linear-regression precision-recall

我有一个LR模型,并在testData上测试它。现在我应该计算结果的精确度。

我可以得到精确度:

 val precision = metrics.precision 
 precision: Double = 0.9801503759398497

以及

 // Precision by labels
 Precision(0.0) = 0.9979625101874491
 Precision(1.0) = 0.9299655568312285

从spark MLLIB中,第一个精度被定义为整体统计。

但是标签的精度和精度之间有什么区别呢? (精度定义为TRUE预测率)。

1 个答案:

答案 0 :(得分:0)

对于矢量数据,您正在处理值向量,因此您可能希望不仅在正确/错误地预测整个向量时计算精度,而且还要对向量的每个组件(标签)执行此操作。

来自Apache Spark documentation

  

整体精确度衡量所有标签的精确度 - 数量   时间任何类别被正确预测(真阳性)归一化   数据点的数量。标签精度仅考虑一个   class,并测量预测特定标签的时间   通过标签出现的次数正确标准化   输出