把上述指标公式翻译为python版
时间: 2024-01-25 10:04:24 浏览: 17
以下是将上述指标公式转化为Python代码的示例:
```python
import numpy as np
def accuracy(y_true, y_pred):
"""
计算准确率
:param y_true: 真实标签
:param y_pred: 预测标签
:return: 准确率
"""
correct = np.sum(y_true == y_pred)
total = len(y_true)
acc = correct / total
return acc
def precision(y_true, y_pred):
"""
计算精确率
:param y_true: 真实标签
:param y_pred: 预测标签
:return: 精确率
"""
true_positive = np.sum(np.logical_and(y_true == 1, y_pred == 1))
false_positive = np.sum(np.logical_and(y_true == 0, y_pred == 1))
precision = true_positive / (true_positive + false_positive)
return precision
def recall(y_true, y_pred):
"""
计算召回率
:param y_true: 真实标签
:param y_pred: 预测标签
:return: 召回率
"""
true_positive = np.sum(np.logical_and(y_true == 1, y_pred == 1))
false_negative = np.sum(np.logical_and(y_true == 1, y_pred == 0))
recall = true_positive / (true_positive + false_negative)
return recall
def f1_score(y_true, y_pred):
"""
计算F1分数
:param y_true: 真实标签
:param y_pred: 预测标签
:return: F1分数
"""
p = precision(y_true, y_pred)
r = recall(y_true, y_pred)
f1 = 2 * p * r / (p + r)
return f1
```
这些函数可以分别接受真实的标签和预测的标签,并计算相应的指标。