使用 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 可视化深度学习模型训练和验证集的准确率和损失曲线,并更好地理解模型的训练过程。

Python Matplotlib 可视化训练和验证集的准确率和损失曲线

原文地址: https://www.cveoy.top/t/topic/pdxH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录