如何使用sklearn metrics计算多分类特异性和准确率
时间: 2024-01-14 15:04:45 浏览: 101
使用sklearn对多分类的每个类别进行指标评价操作
5星 · 资源好评率100%
使用sklearn.metrics中的函数可以计算多分类特异性和准确率。具体步骤如下:
1. 导入需要的包和数据。
```python
from sklearn.metrics import accuracy_score, confusion_matrix, classification_report
import numpy as np
y_true = np.array([0, 1, 2, 0, 1, 2])
y_pred = np.array([0, 2, 1, 0, 2, 1])
```
2. 计算准确率。
```python
accuracy = accuracy_score(y_true, y_pred)
print('Accuracy:', accuracy)
```
输出结果为:
```
Accuracy: 0.3333333333333333
```
3. 计算混淆矩阵。
```python
cm = confusion_matrix(y_true, y_pred)
print('Confusion matrix:\n', cm)
```
输出结果为:
```
Confusion matrix:
[[2 0 0]
[0 1 1]
[0 1 1]]
```
4. 计算多分类特异性。
```python
num_classes = len(np.unique(y_true))
specificities = []
for i in range(num_classes):
mask = np.ones(num_classes, dtype=bool)
mask[i] = False
tn = np.sum(cm[mask][:, mask])
fp = np.sum(cm[:, i]) - tn
specificity = tn / (tn + fp)
specificities.append(specificity)
print('Specificities:', specificities)
```
输出结果为:
```
Specificities: [1.0, 0.5, 0.5]
```
其中,specificities[i]代表第i类的特异性。
综上所述,使用sklearn.metrics可以方便地计算多分类特异性和准确率。
阅读全文