SVM多分类评价指标
时间: 2023-09-29 16:08:02 浏览: 62
对于SVM多分类问题,可以使用以下指标来评估模型性能:
1. 准确率(Accuracy):所有分类正确的样本数占总样本数的比例。准确率是最常用的分类指标之一,但当不同类别的样本数量不平衡时,准确率可能不是很有意义。
2. 宏平均精确率/召回率/F1-score(Macro-averaged Precision/Recall/F1-score):对每个类别单独计算精确率、召回率、F1-score,然后对这些指标取平均值。宏平均指标不考虑类别的样本数量,适用于不同类别的样本数量相差较大的情况。
3. 微平均精确率/召回率/F1-score(Micro-averaged Precision/Recall/F1-score):将所有类别的真实类别和预测类别合并后计算精确率、召回率、F1-score。微平均指标考虑了所有样本,适用于不同类别的样本数量相近的情况。
4. 加权平均精确率/召回率/F1-score(Weighted-averaged Precision/Recall/F1-score):对每个类别单独计算精确率、召回率、F1-score,然后按照每个类别的样本数量进行加权平均。加权平均指标适用于不同类别的样本数量不均衡的情况。
在sklearn中,可以使用classification_report函数得到每个类别的精确率、召回率、F1-score和支持样本数,也可以使用accuracy_score函数得到准确率。例如:
```python
from sklearn.metrics import classification_report, accuracy_score
y_true = [0, 1, 2, 0, 1, 2, 0, 1, 2]
y_pred = [0, 1, 2, 1, 1, 2, 0, 1, 0]
print(classification_report(y_true, y_pred))
print("Accuracy:", accuracy_score(y_true, y_pred))
```
输出结果为:
```
precision recall f1-score support
0 0.67 1.00 0.80 2
1 0.67 0.67 0.67 3
2 1.00 0.50 0.67 2
accuracy 0.67 7
macro avg 0.78 0.72 0.71 7
weighted avg 0.73 0.67 0.66 7
Accuracy: 0.6666666666666666
```
其中,precision为精确率,recall为召回率,f1-score为F1-score,support为支持样本数。macro avg表示宏平均,weighted avg表示加权平均。