深度学习之电影二分类的情感问题( 二 )


我们使用画出训练精度和校验精度的情况
plt.clf()acc = history_dict['accuracy']val_acc = history_dict['val_accuracy']plt.plot(epochs, acc, 'bo', label='Training accuracy')plt.plot(epochs, val_acc, 'b', label='Validation accuracy')plt.title('Training and validation accuracy')plt.xlabel('Epochs')plt.ylabel('Accuracy')plt.legend()plt.show()
从图中可以看到整个训练过程,准确度值一直在不断的升高,但是校验过程的精度数值却在不断的进行波动,在2.5-5之间的某个点达到最大值 。
通过对训练和校验指标的分析,可以看到训练的损失每轮都在降低,训练的精度每轮都在提升 。但是校验损失和校验精度基本上在第4轮左右达到最佳值 。为了防止这种过拟合的情况,我们可以在第四轮完成之后直接停止训练 。
history = model.fit(partial_x_train, partial_y_train, epochs= 4, batch_size=512, validation_data=http://www.kingceram.com/post/(x_val, y_val))results = model.evaluate(x_test, y_test)print(results)
重新执行可以看到模型的精度可以达到87%
782/782 [==============================] - 1s 876us/step - loss: 0.3137 - accuracy: 0.8729[0.3137112557888031, 0.8728799819946289]
五、使用测试数据预测结果
使用训练的模型对test数据集进行预测
result = model.predict(x_test)print(result)
[[0.31683978][0.9997941 ][0.9842608 ]...[0.18170357][0.23360077][0.6573206 ]]
六、小结
【深度学习之电影二分类的情感问题】完整代码下载