深度学习多分类评价指标代码
时间: 2024-10-11 21:00:40 浏览: 29
深度学习中的多分类任务通常涉及到预测多个类别中的一个。常用的评价指标有精度(Accuracy)、精确率(Precision)、召回率(Recall)和F1分数(F1 Score)。下面是一个简单的Python示例,使用sklearn库计算这些指标:
```python
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, classification_report
# 假设y_true是真实标签列表,y_pred是模型预测的标签列表
y_true = [0, 1, 2, ..., n_classes - 1] # 假设有n_classes个类别
y_pred = [0, 1, 2, ..., n_classes - 1]
# 计算准确率
accuracy = accuracy_score(y_true, y_pred)
# 精确率(每个类别的)
precision = {i: precision_score(y_true, y_pred, average='weighted', labels=range(n_classes)) for i in range(n_classes)}
# 召回率(每个类别的)
recall = {i: recall_score(y_true, y_pred, average='weighted', labels=range(n_classes)) for i in range(n_classes)}
# F1分数(每个类别的)
f1 = {i: f1_score(y_true, y_pred, average='weighted', labels=range(n_classes)) for i in range(n_classes)}
# 对所有类别汇总的报告
classification_report_str = classification_report(y_true, y_pred, target_names=list(range(n_classes)))
print("Accuracy:", accuracy)
print("Precision per class:", precision)
print("Recall per class:", recall)
print("F1 Score per class:", f1)
print("Classification Report:\n", classification_report_str)
```
这里`average='weighted'`表示对每个类别的性能进行了加权平均,对于不平衡数据集尤其重要。
阅读全文