F1-score
F1-score 是一种衡量分类模型性能的指标,特别适用于处理极度不平衡的数据集,F1-score 的取值范围是从0到1,数值越大,表示性能越好。
计算公式:
F1-score是精确率和召回率的调和平均数。
∗ ∗ F 1 s c o r e = 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 ∗ ∗ **F1score =2\times \frac{precision\times Recall}{precision+Recall}** ∗∗F1score=2×precision+Recallprecision×Recall∗∗
那什么是precision和Recall呢?
Precision(准确率):模型预测为正类的样本中,真正为正类的比列。
Recall(召回率):实际为正类的样本中,被模型正确预测为正类的比例。
计算公式如下:
P r e c i s i o n = T P T P + F P Precision = \frac{TP}{TP+FP} Precision=TP+FPTP
R e c a l l = T P T P + F N Recall = \frac{TP}{TP+FN} Recall=TP+FNTP
Eg:
实际类别 | 预测类别 |
---|---|
1 | 1 |
1 | 0 |
0 | 1 |
1 | 1 |
0 | 0 |
什么是TP?FP?FN?
TP(True Positive):模型预测为正类,且实际为正类,例子中有2个。
FP(False Positive):模型预测为正类,但实际为负类。例子中有 1 个。
FN(False Negative):模型预测为负类,但实际为正类。这里有 1 个。
P r e c i s i o n = T P T P + F P = 2 2 + 1 = 0.67 Precision = \frac{TP}{TP+FP}=\frac{2}{2+1}=0.67 Precision=TP+FPTP=2+12=0.67
R e c a l l = T P T P + F N = 2 2 + 1 = 0.67 Recall = \frac{TP}{TP+FN}=\frac{2}{2+1}=0.67 Recall=TP+FNTP=2+12=0.67
F 1 s c o r e = 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 = 2 × 0.67 × 0.67 0.67 + 0.67 = 0.67 F1score=2\times \frac{Precision \times Recall}{Precision+Recall}=2\times \frac{0.67 \times 0.67 }{0.67 +0.67 }=0.67 F1score=2×Precision+RecallPrecision×Recall=2×0.67+0.670.67×0.67=0.67
召回率和精确率分别回答了什么问题呢?
召回率:是在所有实际为正类的样本中,预测到为正类的!
故回答的是:在所有正类样本中,究竟有多少被模型正确识别。
精确率:是在所有预测为正类的样本中,实际也为正类的比列。
故回答的是:在所有被预测为正类的样本中,究竟有多少是正类的呢。