我使用keras并设置机器学习模型来预测我的数据。
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。训练数据和测试数据之间有多少百分比的误差?如何计算?
最佳答案
您已使用mean_squared_error
(mse)丢失功能。
MSE评估估计器(即,将数据样本映射到从中采样数据的总体参数的数学函数)或预测器(即将任意输入映射到某些值样本的函数)的质量随机变量)。
Formula for 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))
关于machine-learning - 如何计算keras中的错误百分比,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47060877/