学习笔记-神经网络(五)

可视化学习的准确度和代价

为了更好的分析神经网络学习的效果,将学习的准确度(accuracy)和代价(Cost)进行了可视化处理,特别记录下来以备后用,代码片断如下:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.ticker as mtick

fig = plt.figure(figsize=(10,10))
ax = fig.add_subplot(211)
ax.plot(np.arange(0,30,1),evaluation_cost, color="red", label="evaluation cost" )
ax.plot(np.arange(0,30,1), training_cost, color="blue", label='training cost')
ax.set_ylabel('Cost')
ax.grid(True)
plt.legend()

#显示准确率
ax2 = fig.add_subplot(212)
#这里的10000和50000分别是评价数据集和训练数据集的大小
evaluation_size = 10000
training_size = 50000
evaluation_accuracy_rate=[i/evaluation_size *100for i in evaluation_accuracy]
training_accuracy_rate = [i/training_size*100 for i in training_accuracy]
ax2.plot(np.arange(0,30,1),evaluation_accuracy_rate, color="red", label="evaluation accuracy(%)")
ax2.plot(np.arange(0,30,1),training_accuracy_rate, color="blue", label="training accuracy(%)")
#设置百分比格式
ytick = mtick.FormatStrFormatter("%.0f%%")
ax2.yaxis.set_major_formatter(ytick)
ax2.set_ylabel('Accuracy')
ax2.grid(True)
plt.legend()

plt.show()

运行结果如下:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42893650/article/details/82744212
今日推荐