pytorch中的精确率如何计算,给出代码演示
时间: 2024-01-13 20:02:34 浏览: 64
在 PyTorch 中,可以通过调用 `sklearn.metrics` 模块中的 `precision_score` 函数来计算精确率。具体实现代码如下:
```python
from sklearn.metrics import precision_score
# y_true 表示真实标签,y_pred 表示预测标签
precision = precision_score(y_true, y_pred, average='macro')
```
其中 `y_true` 和 `y_pred` 分别为真实标签和预测标签,`average` 参数表示计算每个类别的精确率还是整体的精确率。`average='macro'` 表示计算每个类别的精确率并求平均值,`average='micro'` 表示将所有类别的 TP、FP、TN、FN 求和后计算精确率。
示例代码如下:
```python
import torch
from sklearn.metrics import precision_score
# 随机生成真实标签和预测标签
y_true = torch.randint(0, 2, (100,))
y_pred = torch.randint(0, 2, (100,))
# 将 PyTorch Tensor 转换为 numpy array
y_true = y_true.numpy()
y_pred = y_pred.numpy()
# 计算精确率
precision = precision_score(y_true, y_pred, average='macro')
print('precision:', precision)
```
阅读全文