[二分类]F1-score

参考:

F1 score

Confusion matrix

$F_{1} score$可以解释为精确性和召回率的加权平均值,相当于精确率和召回率的综合评价指标

当前着重于二分类F1 score

计算

精确率和召回率的计算参考[二分类]PR曲线。$F_{1} score$的计算公式如下:

$F_{1}$取值为[0, 1],其中数值为1表示实现了最好的精确率和召回率,数值为0表示性能最差

python

参考:sklearn.metrics.f1_score

PythonSklearn实现了$F_{1} score$的计算

1
def f1_score(y_true, y_pred, labels=None, pos_label=1, average='binary', sample_weight=None):

该函数返回二元分类中正样本的F1 score

  • y_true:一维数组,表示正样本标签
  • y_pred:一维数组,表示分类器预测类别
  • pos_label:字符串或者数值,表示正样本类标签,默认为1

示例

参考[二分类]PR曲线实现二元数据集的提取,分类器的训练和预测。F1-score计算如下:

1
2
3
4
5
6
7
8
from sklearn.metrics import f1_score

classifier = LogisticClassifier()
classifier.train(x_train, train_labels)
res_labels, scores = classifier.predict(x_test)

f1 = f1_score(test_labels, res_labels)
print(f1)
坚持原创技术分享,您的支持将鼓励我继续创作!