[英]How to change plot_confusion_matrix default figure size in sklearn.metrics package
我尝试使用 sklearn.metrics.plot_confusion_matrix plot 混淆矩阵与 Jupyter notebook package,但默认图形尺寸有点小。 我在绘图之前添加了 plt.figure(figsize=(20, 20)) ,但图形大小没有随着 output 文本“图形大小 1440x1440 和 0 轴”而改变。 如何更改图形大小?
%matplotlib inline
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.metrics import plot_confusion_matrix
from matplotlib import pyplot as plt
plt.figure(figsize=(20, 20))
clf = GradientBoostingClassifier(random_state=42)
clf.fit(X_train, y_train)
plot_confusion_matrix(clf, X_test, y_test, cmap=plt.cm.Blues)
plt.title('Confusion matrix')
plt.show()
我不知道为什么 BigBen 将其作为评论而不是答案发布,但我几乎错过了看到它。 这是一个答案,所以未来的围观者不会犯我几乎犯的同样错误!
fig, ax = plt.subplots(figsize=(10, 10))
plot_confusion_matrix(your_model, X_test, y_test, ax=ax)
我使用set_figwidth和set_figheight来指定图形大小
from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay
import matplotlib.pyplot as plt
disp = ConfusionMatrixDisplay.from_predictions(
[0,1,1,0,1],
[0,1,0,1,0],
labels=[1,0],
cmap=plt.cm.Blues,
display_labels=['Good','Bad'],
values_format='',
)
fig = disp.ax_.get_figure()
fig.set_figwidth(3)
fig.set_figheight(3)
ConfusionMatrixDisplay
在可视化混淆矩阵时比plot_confusion_matrix
提供更多的控制和灵活性。 更多信息: 文档
from sklearn.metrics import ConfusionMatrixDisplay
y_true = [0,1,1,0,1]
y_pred = [0,1,0,1,0]
labels = ['Good','Bad'] # 0: Good and 1: Bad
disp = ConfusionMatrixDisplay.from_predictions(
y_true,
y_pred,
display_labels=labels,
cmap=plt.cm.Blues
)
fig = disp.figure_
fig.set_figwidth(10)
fig.set_figheight(10)
fig.suptitle('Plot of confusion matrix')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.