Python Matplotlib 可视化训练和验证集的准确率和损失曲线
使用 Matplotlib 可视化训练和验证集的准确率和损失曲线
本教程将指导您使用 Python 的 Matplotlib 库可视化深度学习模型训练和验证集的准确率和损失曲线。
设置 Matplotlib 配置
首先,我们需要设置 Matplotlib 的配置参数以确保能够正确显示中文。
import matplotlib.pyplot as plt
# 设置 Matplotlib 配置参数,支持中文显示
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
准备数据
假设您已经训练了一个深度学习模型,并且 history 对象包含了训练和验证集的准确率和损失信息。
acc = history.history['accuracy']
val_acc = history.history['val_accuracy']
loss = history.history['loss']
val_loss = history.history['val_loss']
epochs = range(1, len(acc) + 1)
创建图形
使用 Matplotlib 的 subplot 方法创建两个子图,分别用于显示准确率曲线和损失曲线。
plt.figure(figsize=(12, 4))
plt.subplot(1, 2, 1)
plt.plot(epochs, acc, 'bo', label='训练集准确率')
plt.plot(epochs, val_acc, 'b', label='验证集准确率')
plt.title('训练集与验证集准确率曲线')
plt.xlabel('Epochs')
plt.ylabel('准确率')
plt.legend()
plt.subplot(1, 2, 2)
plt.plot(epochs, loss, 'bo', label='训练集损失')
plt.plot(epochs, val_loss, 'b', label='验证集损失')
plt.title('训练集与验证集损失曲线')
plt.xlabel('Epochs')
plt.ylabel('损失')
plt.legend()
plt.tight_layout()
plt.show()
代码解释
plt.figure(figsize=(12, 4))创建一个大小为 12 英寸宽、4 英寸高的图形。plt.subplot(1, 2, 1)创建一个包含两个子图的图形,并选择第一个子图。plt.plot(epochs, acc, 'bo', label='训练集准确率')绘制训练集准确率曲线,蓝色圆点表示数据点。plt.plot(epochs, val_acc, 'b', label='验证集准确率')绘制验证集准确率曲线,蓝色实线表示数据点。plt.title('训练集与验证集准确率曲线')设置子图标题。plt.xlabel('Epochs')设置 x 轴标签。plt.ylabel('准确率')设置 y 轴标签。plt.legend()显示图例。plt.subplot(1, 2, 2)选择第二个子图。plt.plot(epochs, loss, 'bo', label='训练集损失')绘制训练集损失曲线。plt.plot(epochs, val_loss, 'b', label='验证集损失')绘制验证集损失曲线。plt.title('训练集与验证集损失曲线')设置子图标题。plt.xlabel('Epochs')设置 x 轴标签。plt.ylabel('损失')设置 y 轴标签。plt.legend()显示图例。plt.tight_layout()自动调整子图之间的间距。plt.show()显示图形。
通过以上步骤,您就可以使用 Matplotlib 可视化深度学习模型训练和验证集的准确率和损失曲线,并更好地理解模型的训练过程。
原文地址: https://www.cveoy.top/t/topic/pdxH 著作权归作者所有。请勿转载和采集!