下面是利用python中的matplotlib打印混淆矩阵的完整攻略:
1. 导入必要的库和数据
在使用matplotlib打印混淆矩阵前,需要导入必要的库和数据。其中,sklearn库中包含了混淆矩阵的函数,matplotlib库中包含了绘图的函数。
示例代码:
from sklearn.metrics import confusion_matrix
import matplotlib.pyplot as plt
y_true = [0, 1, 0, 1, 0, 1, 0]
y_pred = [0, 0, 0, 1, 1, 1, 0]
2. 使用混淆矩阵函数计算混淆矩阵数据
在得到数据后,使用混淆矩阵函数来计算混淆矩阵数据。函数的参数为真实值y_true和预测值y_pred。
示例代码:
cm = confusion_matrix(y_true, y_pred)
3. 绘制混淆矩阵图
使用matplotlib库中的绘图函数,绘制出混淆矩阵图,使其更加直观形象,便于观察各类别的分类情况。
示例代码:
plt.figure(figsize=(8, 6))
plt.imshow(cm, cmap=plt.cm.Blues)
plt.xticks(range(2))
plt.yticks(range(2))
plt.xlabel('Predicted label')
plt.ylabel('True label')
plt.colorbar()
plt.show()
其中,第1行代码设置了绘图大小,第2行代码设置了颜色映射,第3行和第4行代码分别设置了x轴和y轴的刻度,第5行和第6行设置了x轴和y轴的标签,第7行代码增加了颜色条,第8行代码将绘图显示在画布上。
4. 完整代码示例
下面是一个完整的代码示例,其中包含有2个实例,分别为二分类和多分类的例子:
from sklearn.metrics import confusion_matrix
import matplotlib.pyplot as plt
# 二分类混淆矩阵实例
y_true = [0, 1, 0, 1, 0, 1, 0]
y_pred = [0, 0, 0, 1, 1, 1, 0]
cm = confusion_matrix(y_true, y_pred)
plt.figure(figsize=(8, 6))
plt.imshow(cm, cmap=plt.cm.Blues)
plt.xticks(range(2))
plt.yticks(range(2))
plt.xlabel('Predicted label')
plt.ylabel('True label')
plt.colorbar()
plt.show()
# 多分类混淆矩阵实例
y_true = ['cat', 'dog', 'cat', 'dog', 'cat', 'dog']
y_pred = ['cat', 'cat', 'dog', 'dog', 'cat', 'cat']
labels = ['cat', 'dog']
cm = confusion_matrix(y_true, y_pred, labels=labels)
plt.figure(figsize=(8, 6))
plt.imshow(cm, cmap=plt.cm.Blues)
plt.xticks(range(2))
plt.yticks(range(2))
plt.xlabel('Predicted label')
plt.ylabel('True label')
plt.colorbar()
plt.show()
上述代码中,第1个实例为二分类混淆矩阵,第2个实例为多分类混淆矩阵。在第2个实例中,需要设置labels参数来指定类别标签。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:利用python中的matplotlib打印混淆矩阵实例 - Python技术站