混淆矩阵F1-score
时间: 2024-07-08 20:00:20 浏览: 267
F1-score是一种评估分类模型性能的指标,特别是在不平衡数据集上,它综合考虑了精确率(Precision)和召回率(Recall)。在多分类任务中,混淆矩阵提供了每个类别预测结果的详细情况,F1-score则是对每个类别分别计算精度和召回率的调和平均数。对于给出的F1-score数组[0.47058824, 0.42857143, 0.7, 0.44444444, 0.88888889],它表示五个类别的F1分数,数值越高代表该类别的预测性能越好。
为了计算F1-score,首先需要定义精确率和召回率:
- 精确率( Precision ) = TP / (TP + FP)
- 召回率( Recall ) = TP / (TP + FN)
其中,TP是真正例(True Positive),FP是假正例(False Positive),FN是假负例(False Negative)。
F1-score是这两个值的调和平均数,公式为:
\[ F1 = 2 \times \frac{Precision \times Recall}{Precision + Recall} \]
在实践中,可以通过sklearn库的`f1_score`函数来计算,例如:
```python
from sklearn.metrics import f1_score
# 假设我们有实际标签y_true和预测标签y_pred
y_true = [1, 2, 2, 3, 3] # 类别标签
y_pred = [1, 2, 2, 3, 3] # 预测的类别标签
# 对于每个类别,计算F1-score
f1_scores = f1_score(y_true, y_pred, average=None)
# 输出每个类别的F1-score
print(f1_scores) # [0.47058824, 0.42857143, 0.7, 0.44444444, 0.88888889]
```
阅读全文