1. Precision和Recall的计算

名称 含义
TP(True Positive) 真阳性:预测为正,实际为正
FP(False Positive) 假阳性:预测为正,实际为负
TN(True Negative) 真阴性:预测为负,实际为负
FN(False Negative) 假阴性:预测为负,实际为正

(1)Precision(精确率):被认为正的样本中,实际上有多少是正的。
Precision=TPTP+FP.{\rm Precision}=\frac {\rm TP}{\rm TP+FP}.Precision=TP+FPTP.
        也就是说,该指标用于衡量:在预测出来为正的样本中,有多少是正确预测的。

(2)Recall(召回率):原本为正的样本中,有多少被找出来了。
Recall=TPTP+FN.{\rm Recall}=\frac {\rm TP}{\rm TP+FN}.Recall=TP+FNTP.
        也就是说,该指标用于衡量:在样本空间中实际为正的样本中,有多少被正确预测出来。


        可见,在上述两式中,只有分母不同,一个分母是预测为正的样本数,另一个是原来样本中所有的正样本数。

(3)Accuracy(准确率):对整个样本空间中的样本分类正确的一个比例。

Accuracy=TP+TNTP+FP+TN+FN.{\rm Accuracy}=\frac {\rm TP+TN}{\rm TP+FP+TN+FN}.Accuracy=TP+FP+TN+FNTP+TN.

2. F1 Score

        统计TP、FP、TN、FN等指标数据可以用于计算精确率(Precision)和召回率(Recall),根据精确率和召回率可以计算出F1值,微观F1(Micro-F1)和宏观F1(Macro-F1)都是F1合并后的结果,是用于评价多分类任务的指标。
        F1分数(F1-Score、F1-Measure),是分类问题的一个衡量指标,用于权衡Precision和Recall,被定义为精确率和召回率的调和平均数。

F1=2⋅Precision⋅RecallPrecision+Recall.{\rm F1}=2 \cdot \frac {\rm Precision \cdot Recall}{\rm Precision+Recall}.F1=2Precision+RecallPrecisionRecall.

3. Micro-F1

        第iii类的Precision和Recall可以表示为:
Precisioni=TPiTPi+FPi{\rm Precision}_i=\frac {{\rm TP}_i} {{\rm TP}_i+{\rm FP}_i}Precisioni=TPi+FPiTPi

Recalli=TPiTPi+FNi{\rm Recall}_i=\frac {{\rm TP}_i} {{\rm TP}_i+{\rm FN}_i}Recalli=TPi+FNiTPi

        Micro-F1计算方式

        (1)先计算出所有类别的总的Precision和Recall
Precisionmicro=∑i=1nTPi∑i=1nTPi+∑i=1nFPi {\rm Precision}_{micro}=\frac {\sum_{i=1}^n{\rm TP}_i} {\sum_{i=1}^n{\rm TP}_i+\sum_{i=1}^n{\rm FP}_i} Precisionmicro=i=1nTPi+i=1nFPii=1nTPi

Recallmicro=∑i=1nTPi∑i=1nTPi+∑i=1nFNi {\rm Recall}_{micro}=\frac {\sum_{i=1}^n{\rm TP}_i} {\sum_{i=1}^n{\rm TP}_i+\sum_{i=1}^n{\rm FN}_i} Recallmicro=i=1nTPi+i=1nFNii=1nTPi
        (2)然后利用F1计算公式计算出来的F1值即为Micro-F1:
F1micro=2⋅Precisionmicro⋅RecallmicroPrecisionmicro+Recallmicro. F1_{micro}=2 \cdot \frac {{\rm Precision}_{micro}\cdot {Recall}_{micro}} {{\rm Precision}_{micro}+ {Recall}_{micro}}. F1micro=2Precisionmicro+RecallmicroPrecisionmicroRecallmicro.
        因为其考虑了各种类别的数量,所以更适用于数据分布不平衡的情况。在这种情况下,数量较多的类别对F1的影响会较大。

4. Macro-F1

        第iii类的Precision和Recall可以表示为:
Precisioni=TPiTPi+FPi{\rm Precision}_i=\frac {{\rm TP}_i} {{\rm TP}_i+{\rm FP}_i}Precisioni=TPi+FPiTPi

Recalli=TPiTPi+FNi{\rm Recall}_i=\frac {{\rm TP}_i} {{\rm TP}_i+{\rm FN}_i}Recalli=TPi+FNiTPi

        Macro-F1计算方式

        (1)对各类别的Precision和Recall求平均
Precisionmacro=∑i=1nPrecisionin {\rm Precision}_{macro}=\frac {\sum_{i=1}^n{\rm Precision}_i} {n} Precisionmacro=ni=1nPrecisioni

Recallmacro=∑i=1nRecallin {\rm Recall}_{macro}=\frac {\sum_{i=1}^n{\rm Recall}_i} {n} Recallmacro=ni=1nRecalli
        (2)然后利用F1计算公式计算出来的F1值即为Macro-F1。
F1macro=2⋅Precisionmacro⋅RecallmacroPrecisionmacro+Recallmacro. F1_{macro}=2 \cdot \frac {{\rm Precision}_{macro}\cdot {Recall}_{macro}} {{\rm Precision}_{macro}+ {Recall}_{macro}}. F1macro=2Precisionmacro+RecallmacroPrecisionmacroRecallmacro.
        因为对各类别的Precision和Recall求了平均,所以并没有考虑到数据数量的问题。在这种情况下,Precision和Recall较高的类别对F1的影响会较大。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐