1. Precision和Recall的计算
名称 | 含义 |
---|---|
TP(True Positive) | 真阳性:预测为正,实际为正 |
FP(False Positive) | 假阳性:预测为正,实际为负 |
TN(True Negative) | 真阴性:预测为负,实际为负 |
FN(False Negative) | 假阴性:预测为负,实际为正 |
(1)Precision(精确率):被认为正的样本中,实际上有多少是正的。
P
r
e
c
i
s
i
o
n
=
T
P
T
P
+
F
P
.
{\rm Precision}=\frac {\rm TP}{\rm TP+FP}.
Precision=TP+FPTP.
也就是说,该指标用于衡量:在预测出来为正的样本中,有多少是正确预测的。
(2)Recall(召回率):原本为正的样本中,有多少被找出来了。
R
e
c
a
l
l
=
T
P
T
P
+
F
N
.
{\rm Recall}=\frac {\rm TP}{\rm TP+FN}.
Recall=TP+FNTP.
也就是说,该指标用于衡量:在样本空间中实际为正的样本中,有多少被正确预测出来。
可见,在上述两式中,只有分母不同,一个分母是预测为正的样本数,另一个是原来样本中所有的正样本数。
(3)Accuracy(准确率):对整个样本空间中的样本分类正确的一个比例。
A
c
c
u
r
a
c
y
=
T
P
+
T
N
T
P
+
F
P
+
T
N
+
F
N
.
{\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,被定义为精确率和召回率的调和平均数。
F
1
=
2
⋅
P
r
e
c
i
s
i
o
n
⋅
R
e
c
a
l
l
P
r
e
c
i
s
i
o
n
+
R
e
c
a
l
l
.
{\rm F1}=2 \cdot \frac {\rm Precision \cdot Recall}{\rm Precision+Recall}.
F1=2⋅Precision+RecallPrecision⋅Recall.
3. Micro-F1
第
i
i
i类的Precision和Recall可以表示为:
P
r
e
c
i
s
i
o
n
i
=
T
P
i
T
P
i
+
F
P
i
{\rm Precision}_i=\frac {{\rm TP}_i} {{\rm TP}_i+{\rm FP}_i}
Precisioni=TPi+FPiTPi
R e c a l l i = T P i T P i + F N i {\rm Recall}_i=\frac {{\rm TP}_i} {{\rm TP}_i+{\rm FN}_i} Recalli=TPi+FNiTPi
Micro-F1计算方式:
(1)先计算出所有类别的总的Precision和Recall:
P
r
e
c
i
s
i
o
n
m
i
c
r
o
=
∑
i
=
1
n
T
P
i
∑
i
=
1
n
T
P
i
+
∑
i
=
1
n
F
P
i
{\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=1nFPi∑i=1nTPi
R
e
c
a
l
l
m
i
c
r
o
=
∑
i
=
1
n
T
P
i
∑
i
=
1
n
T
P
i
+
∑
i
=
1
n
F
N
i
{\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=1nFNi∑i=1nTPi
(2)然后利用F1计算公式计算出来的F1值即为Micro-F1:
F
1
m
i
c
r
o
=
2
⋅
P
r
e
c
i
s
i
o
n
m
i
c
r
o
⋅
R
e
c
a
l
l
m
i
c
r
o
P
r
e
c
i
s
i
o
n
m
i
c
r
o
+
R
e
c
a
l
l
m
i
c
r
o
.
F1_{micro}=2 \cdot \frac {{\rm Precision}_{micro}\cdot {Recall}_{micro}} {{\rm Precision}_{micro}+ {Recall}_{micro}}.
F1micro=2⋅Precisionmicro+RecallmicroPrecisionmicro⋅Recallmicro.
因为其考虑了各种类别的数量,所以更适用于数据分布不平衡的情况。在这种情况下,数量较多的类别对F1的影响会较大。
4. Macro-F1
第
i
i
i类的Precision和Recall可以表示为:
P
r
e
c
i
s
i
o
n
i
=
T
P
i
T
P
i
+
F
P
i
{\rm Precision}_i=\frac {{\rm TP}_i} {{\rm TP}_i+{\rm FP}_i}
Precisioni=TPi+FPiTPi
R e c a l l i = T P i T P i + F N i {\rm Recall}_i=\frac {{\rm TP}_i} {{\rm TP}_i+{\rm FN}_i} Recalli=TPi+FNiTPi
Macro-F1计算方式:
(1)对各类别的Precision和Recall求平均:
P
r
e
c
i
s
i
o
n
m
a
c
r
o
=
∑
i
=
1
n
P
r
e
c
i
s
i
o
n
i
n
{\rm Precision}_{macro}=\frac {\sum_{i=1}^n{\rm Precision}_i} {n}
Precisionmacro=n∑i=1nPrecisioni
R
e
c
a
l
l
m
a
c
r
o
=
∑
i
=
1
n
R
e
c
a
l
l
i
n
{\rm Recall}_{macro}=\frac {\sum_{i=1}^n{\rm Recall}_i} {n}
Recallmacro=n∑i=1nRecalli
(2)然后利用F1计算公式计算出来的F1值即为Macro-F1。
F
1
m
a
c
r
o
=
2
⋅
P
r
e
c
i
s
i
o
n
m
a
c
r
o
⋅
R
e
c
a
l
l
m
a
c
r
o
P
r
e
c
i
s
i
o
n
m
a
c
r
o
+
R
e
c
a
l
l
m
a
c
r
o
.
F1_{macro}=2 \cdot \frac {{\rm Precision}_{macro}\cdot {Recall}_{macro}} {{\rm Precision}_{macro}+ {Recall}_{macro}}.
F1macro=2⋅Precisionmacro+RecallmacroPrecisionmacro⋅Recallmacro.
因为对各类别的Precision和Recall求了平均,所以并没有考虑到数据数量的问题。在这种情况下,Precision和Recall较高的类别对F1的影响会较大。