多分类问题的precision和recall以及F1 scores的计算

多分类问题的precision和recall以及F1 scores的计算_第1张图片

对于多分类问题,首先,对于每一个类的精准率(Precision)和召回率(Recall),定义和二分类问题一致,但是计算上不再需要TP,FP,FN等量了:)

比如对A, B, C三类有如下混淆矩阵:

A B C
A 10 1 2
B 2 11 3
C 5 3 8
行表示真值;列表示预测值。

此时,每一类都有自己的精准率和召回率。

精准率表示正确预测X占所有预测X的比例。

所以对于A类来说,Precision(A) = 10 / (10 + 2 + 5) = 10 / 17

所以对于B类来说,Precision(B) = 11 / (1 + 11 + 3) = 11 / 15

所以对于C类来说,Precision© = 8 / (2 + 3 + 8) = 8 / 13

召回率表示正确预测X占所有真实X的比例。

所以对于A类来说,Recall(A) = 10 / (10 + 1 + 2) = 10 / 13

所以对于B类来说,Recall(B) = 11 / (2 + 11 + 3) = 11 / 16

所以对于C类来说,Recall© = 8 / (5 + 3 + 8) = 8 / 16

在这个基础上,整个算法的精准率和召回率,可以简单地使用平均值法。

即:

Precision = (Precision(A) + Precision(B) + Precision©) / 3 = 0.6457

Recall = (Recall(A) + Recall(B) + Recall©) / 3 = 0.6522

加油!:)

参考:https://coding.imooc.com/learn/questiondetail/95969.html

你可能感兴趣的:(分类,算法)