(转)关于F1-score的理解

580 阅读1分钟

一、什么是F1-score

F1值(F1-score)是分类问题的一个指标,它是精确率和召回率的调和平均数,最大为1,最小为0.

f1f_1=2·precisionrecallprecision+recall\frac{precision·recall}{precision+recall}

二、计算过程

1.首先定义以下概念

  • TP(True Positive):预测答案正确
  • FP(False Positive):错将其他类预测为本类
  • FN(False Negative):本类标签预测为其他类标
  1. 通过第一步的统计值计算每个类别下的precision和recall

精准度 / 查准率(precision):指被分类器判定正例中的正样本的比重

precisionkprecision_{k}=TPTP+FP\frac{TP}{TP+FP}

召回率 / 查全率 (recall):指的是被预测为正例的占总的正例的比重

recallk=TPTP+FNrecall_{k}=\frac{TP}{TP+FN}

另外,介绍一下常用的准确率(accuracy)的概念,代表分类器对整个样本判断正确的比重。

accuracy=TP+TNTP+TN+FP+FNaccuracy=\frac{TP+TN}{TP+TN+FP+FN}

  1. 通过第二步计算结果计算每个类别下的f1-score,计算方式如下:

f1k=2precisionkrecallkprecisionk+recallkf1_{k}=\frac{2\cdot precision_{k}\cdot recall_{k} }{precision_{k}+recall_{k}}

  1. 通过对第三步求得的各个类别下的F1-score求均值,得到最后的评测结果,计算方式如下:

score=(1nf1k)2score=(\frac{1}{n}\sum f1_{k})^{2}

以上内容均转载于机器学习中的F1-score