计算准确率,召回率,F1分数的代码
时间: 2024-04-11 19:09:03 浏览: 121
以下是一个示例代码,演示如何计算准确率,召回率和F1分数:
```python
# 实际标签
y_true = [0, 1, 1, 0, 1, 0, 1, 0, 1, 1]
# 预测标签
y_pred = [0, 1, 0, 1, 1, 1, 1, 0, 0, 1]
# 计算TP、FP、TN、FN四个值
TP = sum([1 for i in range(len(y_true)) if y_true[i]==1 and y_pred[i]==1])
FP = sum([1 for i in range(len(y_true)) if y_true[i]==0 and y_pred[i]==1])
TN = sum([1 for i in range(len(y_true)) if y_true[i]==0 and y_pred[i]==0])
FN = sum([1 for i in range(len(y_true)) if y_true[i]==1 and y_pred[i]==0])
# 计算准确率、召回率、F1分数
precision = TP / (TP + FP)
recall = TP / (TP + FN)
F1_score = 2 * precision * recall / (precision + recall)
print("Precision: {:.2f}".format(precision))
print("Recall: {:.2f}".format(recall))
print("F1 score: {:.2f}".format(F1_score))
```
输出结果为:
```
Precision: 0.67
Recall: 0.71
F1 score: 0.69
```
说明:
- 准确率(precision):指模型预测为正例的样本中,真正为正例的比例,也就是TP / (TP + FP)。
- 召回率(recall):指真正为正例的样本中,被模型正确预测为正例的比例,也就是TP / (TP + FN)。
- F1分数:综合考虑准确率和召回率的指标,也就是2 * precision * recall / (precision + recall)。其值越高,说明模型的性能越好。
阅读全文