第15章 Keras模型训练效果可视化

简介: 第15章 Keras模型训练效果可视化 查看训练效果的历史数据大有裨益。本章关于将模型的训练效果进行可视化。本章教你: 如何观察历史训练数据 如何在训练时绘制数据准确性图像 如何在训练时绘制损失图像 我们开始吧。

第15章 Keras模型训练效果可视化

查看训练效果的历史数据大有裨益。本章关于将模型的训练效果进行可视化。本章教你:

  • 如何观察历史训练数据
  • 如何在训练时绘制数据准确性图像
  • 如何在训练时绘制损失图像

我们开始吧。

15.1 取历史数据

上一章说到Keras支持回调API,其中默认调用History函数,每轮训练收集损失和准确率,如果有测试集,也会收集测试集的数据。

历史数据会收集fit()函数的返回值,在history对象中。看一下到底收集了什么数据:

# list all data in history
print(history.history.keys())

如果是第7章的二分类问题:

['acc', 'loss', 'val_acc', 'val_loss']

可以用这些数据画折线图,直观看到:

  • 模型收敛的速度(斜率)
  • 模型是否已经收敛(稳定性)
  • 模型是否过拟合(验证数据集)

以及更多。

15.2 可视化Keras模型训练

收集一下第7章皮马人糖尿病模型的历史数据,绘制:

  1. 训练和验证集的准确度
  2. 训练和验证集的损失
# Visualize training history
from keras.models import Sequential
from keras.layers import Dense
import matplotlib.pyplot as plt
import numpy
# fix random seed for reproducibility
seed = 7
numpy.random.seed(seed)
# load pima indians dataset
dataset = numpy.loadtxt("pima-indians-diabetes.csv", delimiter=",")
# split into input (X) and output (Y) variables
X = dataset[:,0:8]
Y = dataset[:,8]
# create model
model = Sequential()
model.add(Dense(12, input_dim=8, init='uniform', activation='relu'))
model.add(Dense(8, init='uniform', activation='relu'))
model.add(Dense(1, init='uniform', activation='sigmoid'))
# Compile model
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# Fit the model
history = model.fit(X, Y, validation_split=0.33, nb_epoch=150, batch_size=10, verbose=0) # list all data in history
print(history.history.keys())
# summarize history for accuracy
plt.plot(history.history['acc'])
plt.plot(history.history['val_acc'])
plt.title('model accuracy')
plt.ylabel('accuracy')
plt.xlabel('epoch')
plt.legend(['train', 'test'], loc='upper left') plt.show()
# summarize history for loss plt.plot(history.history['loss']) plt.plot(history.history['val_loss']) plt.title('model loss')
plt.ylabel('loss')
plt.xlabel('epoch')
plt.legend(['train', 'test'], loc='upper left') plt.show()

图像如下。最后几轮的准确率还在上升,有可能有点过度学习;但是两个数据集的效果差不多,应该没有过拟合。

从损失图像看,两个数据集的性能差不多。如果两条线开始分开,有可能应该提前终止训练。

15.3 总结

本章关于在训练时绘制图像。总结一下:

  • 如何看历史对象
  • 如何绘制历史性能
  • 如何绘制两个数据集的不同性能
相关文章
|
10月前
|
机器学习/深度学习 数据可视化 算法
机器学习-可解释性机器学习:随机森林与fastshap的可视化模型解析
机器学习-可解释性机器学习:随机森林与fastshap的可视化模型解析
808 1
|
10月前
|
机器学习/深度学习 算法 TensorFlow
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
151 0
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
|
10月前
|
机器学习/深度学习 数据可视化 Python
机器学习之利用线性回归预测波士顿房价和可视化分析影响房价因素实战(python实现 附源码 超详细)
机器学习之利用线性回归预测波士顿房价和可视化分析影响房价因素实战(python实现 附源码 超详细)
602 0
|
机器学习/深度学习 数据可视化 算法
数据分析和机器学习的11个高级可视化图表介绍
可视化是一种强大的工具,用于以直观和可理解的方式传达复杂的数据模式和关系。它们在数据分析中发挥着至关重要的作用,提供了通常难以从原始数据或传统数字表示中辨别出来的见解。
211 0
|
7月前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
349 4
|
8月前
|
机器学习/深度学习 数据可视化 搜索推荐
Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。
【7月更文挑战第5天】Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。流程包括数据获取、预处理、探索、模型选择、评估与优化,以及结果可视化。示例展示了用户行为、话题趋势和用户画像分析。Python的丰富生态使得社交媒体洞察变得高效。通过学习和实践,可以提升社交媒体分析能力。
127 1
|
6月前
|
机器学习/深度学习 数据可视化 JavaScript
探索机器学习模型的可视化技术
【9月更文挑战第23天】在数据科学中,理解和解释机器学习模型的决策过程是至关重要的。本文将介绍几种流行的可视化工具和库,如TensorBoard、D3.js等,帮助读者更好地理解模型内部工作原理及其预测结果。通过实例演示如何使用这些工具进行模型可视化,增强模型的可解释性。
|
7月前
|
机器学习/深度学习 数据采集 数据可视化
基于python 机器学习算法的二手房房价可视化和预测系统
文章介绍了一个基于Python机器学习算法的二手房房价可视化和预测系统,涵盖了爬虫数据采集、数据处理分析、机器学习预测以及Flask Web部署等模块。
220 2
基于python 机器学习算法的二手房房价可视化和预测系统
|
7月前
|
机器学习/深度学习 数据可视化 搜索推荐
【python机器学习】python电商数据K-Means聚类分析可视化(源码+数据集+报告)【独一无二】
【python机器学习】python电商数据K-Means聚类分析可视化(源码+数据集+报告)【独一无二】
297 0

热门文章

最新文章