为什么我使用confusion_matrix获得的结果是高维数组
时间: 2024-04-30 18:18:55 浏览: 76
`confusion_matrix` 函数返回的结果是一个多维数组,其中每个元素表示实际类别和预测类别的组合数量。如果你的分类问题有多个类别,那么就会生成一个高维数组。例如,对于一个有三个类别的分类问题,`confusion_matrix` 函数返回一个 3x3 的矩阵。如果你的分类问题有更多的类别,那么它将返回一个更高维度的数组。
如果你想查看每个类别的分类报告,可以使用 `classification_report` 函数。它将返回每个类别的精确度、召回率、F1分数和支持数等指标。如果你的分类问题有多个类别,那么它将返回一个包含每个类别指标的字典。
以下是一个使用 `confusion_matrix` 和 `classification_report` 函数的例子:
```python
from sklearn.metrics import confusion_matrix, classification_report
y_true = [0, 1, 2, 0, 1, 2]
y_pred = [0, 1, 1, 0, 2, 1]
cm = confusion_matrix(y_true, y_pred)
print(cm)
# 输出结果
# [[2 0 0]
# [0 1 1]
# [0 1 1]]
report = classification_report(y_true, y_pred)
print(report)
# 输出结果
# precision recall f1-score support
#
# 0 1.00 1.00 1.00 2
# 1 0.50 0.50 0.50 2
# 2 0.50 0.50 0.50 2
#
# accuracy 0.67 6
# macro avg 0.67 0.67 0.67 6
# weighted avg 0.67 0.67 0.67 6
```
在上面的例子中,我们使用 `confusion_matrix` 函数计算了真实标签和预测标签的混淆矩阵。结果是一个 3x3 的矩阵,其中每个元素表示实际类别和预测类别的组合数量。我们还使用 `classification_report` 函数计算了每个类别的分类报告。结果显示了每个类别的精确度、召回率、F1分数和支持数等指标。
阅读全文