用Python脚本计算准召率
时间: 2023-07-12 17:03:09 浏览: 149
准确率(Precision)和召回率(Recall)是分类模型评价的两个重要指标,准确率衡量的是模型预测正确样本数与总预测样本数的比例,而召回率则衡量的是模型预测正确样本数与真实样本总数的比例。在实际应用中,我们通常需要同时考虑这两个指标,并综合评价模型的性能。
下面是一个计算准确率和召回率的Python脚本示例:
```python
def calculate_precision_recall(y_true, y_pred):
tp = fp = tn = fn = 0
for i in range(len(y_true)):
if y_true[i] == 1 and y_pred[i] == 1:
tp += 1
elif y_true[i] == 0 and y_pred[i] == 1:
fp += 1
elif y_true[i] == 0 and y_pred[i] == 0:
tn += 1
elif y_true[i] == 1 and y_pred[i] == 0:
fn += 1
precision = tp / (tp + fp)
recall = tp / (tp + fn)
return precision, recall
```
该函数接收两个参数,y_true为真实标签,y_pred为模型预测标签。函数会遍历每一个样本,统计出四种情况下的样本数,然后根据公式计算出准确率和召回率,并返回。
使用示例:
```python
y_true = [1, 0, 1, 1, 0, 1, 0]
y_pred = [1, 1, 0, 1, 0, 1, 1]
precision, recall = calculate_precision_recall(y_true, y_pred)
print("Precision: ", precision)
print("Recall: ", recall)
```
输出结果:
```
Precision: 0.6666666666666666
Recall: 0.75
```
其中,准确率为0.67,召回率为0.75。