SCALA Spark环境中决策树的精度,召回,精度计算

时间:2015-10-19 13:13:06

标签: apache-spark decision-tree precision-recall

我正在尝试计算决策树的精度,召回率,准确度。这与先前关于同一计划的问题有关,尽管背景不同。请找到链接以查看所有代码:  saving model output from Decision tree train classifier as a text file in Spark Scala platform

计算代码为:

//Precision, Recall, Confusion Matrix 
val evaluationMetrics = new MulticlassMetrics(labelAndPreds.map(x => (x._1, x._2)))
evaluationMetrics.precision

evaluationMetrics.recall

evaluationMetrics.confusionMatrix

精度= 98.52%,召回= 98.52%,这似乎不太可能,

Confusion Matrix
    Predicted
Actual  0   1   
0   16877   251 
1   2       20  

以上是混淆矩阵的Spark计算。

安排,

Predicted
Actual  0   1
    0   TN  FN
    1   FP  TP

因此,精度= TP /(TP + FP)= 20 /(20 + 2)= 0.9091 召回= TP /(TP + FN)= 20 /(20 + 251)= 0.074。

如果我错了,请纠正我。如果我将(0,0)组视为True Positives(TP),那么Precision和Recall也将不相同。但根据上面的代码,Spark显示出相同的效果。

有建议和帮助会很棒。提前谢谢。

我想知道如何从我可以转换为字符串的混淆矩阵计算精度,召回率和准确度。

0 个答案:

没有答案