我使用keras和set机器学习模型来预测这样的数据。
K.clear_session()
model = Sequential()
model.add(Dense(3, input_dim=1, activation='relu'))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam')
model.fit(X_train, y_train, epochs=500,
batch_size=2, verbose=1,
)
输出后model.fit显示损失,如损失: 0.0382。我不知道什么是损失: 0.0382。火车和测试数据之间的误差是多少?怎么算?
发布于 2017-11-01 10:08:01
您已经使用了mean_squared_error
损失函数。
MSE评估估计器(即将数据样本映射到采样数据的总体参数的数学函数)或预测器(即将任意输入映射到某些随机变量的值样本)的质量。
MSE必须低才是一个好的模型。降低MSE较好的模型。
在你的训练中,你失去了0.0382
。挺不错的。
在Keras
中有另一个名为mean_absolute_percentage_error
的丢失函数。如果您想知道模型的百分比误差,可以使用mean_absolute_percentage_error
作为损失函数进行编译。
如果您想要在编译和培训之后根据模型的准确性来评估模型,您可以像这样使用evaluate()
函数。
scores = model.evaluate(X_validation, Y_validation, verbose=1)
print("Accuracy: %.2f%%" % (scores[1]*100))
https://stackoverflow.com/questions/47060877
复制相似问题