python中混淆矩阵
时间: 2023-11-06 22:53:18 浏览: 124
混淆矩阵是一种用于衡量分类模型性能的工具,它是一个二维矩阵,其中每行表示实际类别,每列表示预测类别。混淆矩阵的四个主要元素是真正例(TP)、假正例(FP)、假反例(FN)和真反例(TN)。
在Python中,可以使用混淆矩阵来评估分类模型的性能。下面是一个计算和绘制混淆矩阵的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.metrics import confusion_matrix
# 定义真实标签和预测标签
true_labels = [0, 1, 0, 1, 1, 0, 0, 1]
pred_labels = [0, 1, 1, 0, 1, 1, 0, 0]
# 计算混淆矩阵
cnf_matrix = confusion_matrix(true_labels, pred_labels)
# 绘制混淆矩阵
class_names = [0, 1]
plt.figure()
plt.imshow(cnf_matrix, interpolation='nearest', cmap=plt.cm.Blues)
plt.title('Confusion Matrix')
plt.colorbar()
tick_marks = np.arange(len(class_names))
plt.xticks(tick_marks, class_names)
plt.yticks(tick_marks, class_names)
fmt = 'd'
thresh = cnf_matrix.max() / 2.
for i, j in itertools.product(range(cnf_matrix.shape[0]), range(cnf_matrix.shape[1])):
plt.text(j, i, format(cnf_matrix[i, j], fmt),
horizontalalignment="center",
color="white" if cnf_matrix[i, j] > thresh else "black")
plt.ylabel('True label')
plt.xlabel('Predicted label')
plt.tight_layout()
plt.show()
```
上述代码中,`true_labels`表示真实标签,`pred_labels`表示预测标签。通过调用`confusion_matrix`函数计算混淆矩阵,然后使用Matplotlib库绘制混淆矩阵。混淆矩阵的主对角线上的元素表示被正确分类的样本数。
回答完问题后,我来提几个
阅读全文