python不用库实现准确率、召回率和F1-score
时间: 2024-02-03 09:13:28 浏览: 147
可以使用Python编写代码来计算准确率、召回率和F1-score,以下是一个示例代码:
```python
# 实际值
y_true = [1, 0, 1, 1, 0, 1, 0, 0, 1]
# 预测值
y_pred = [1, 0, 0, 1, 1, 1, 0, 1, 0]
# 计算准确率
accuracy = sum([1 for i in range(len(y_true)) if y_true[i] == y_pred[i]]) / len(y_true)
print("Accuracy:", accuracy)
# 计算召回率
true_positive = sum([1 for i in range(len(y_true)) if y_true[i] == 1 and y_pred[i] == 1])
false_negative = sum([1 for i in range(len(y_true)) if y_true[i] == 1 and y_pred[i] == 0])
recall = true_positive / (true_positive + false_negative)
print("Recall:", recall)
# 计算F1-score
precision = true_positive / sum(y_pred)
f1_score = 2 * precision * recall / (precision + recall)
print("F1-score:", f1_score)
```
这个示例代码中,我们使用了两个列表 `y_true` 和 `y_pred`,分别表示实际值和预测值。然后,我们分别计算了准确率、召回率和F1-score。其中准确率的计算比较简单,只需要统计预测正确的样本数量并除以总样本数即可。召回率和F1-score的计算需要分别统计真正例、假反例和真反例的数量,然后根据公式计算即可。
阅读全文