首页 > 解决方案 > 当问题是回归问题时,如何计算准确性?

问题描述

当问题是回归问题时,如何计算准确性?

我正在研究一个回归问题来预测每个用户每天使用多少电量,我使用 keras 构建了一个 LSTM 模型来做这个时间序列预测。一开始,我使用“准确度”作为指标,并在运行时

model.fit(...,verbose=2,...)

val_acc在每个 epoch 之后都有一个值。在我的结果中,值没有改变,它始终是相同的值。

然后我意识到回归问题是没有准确性的概念,然后我开始怀疑,这个准确性是如何计算的?

我猜想,当回归问题中的指标是“准确度”时,准确度的计算方式也与分类问题类似:预测值的数量等于真实值除以总样本量。

我对吗?

标签: pythonmachine-learningkeras

解决方案


在回归中,您使用衡量您的预测与实际值相差多远的指标,例如平方误差、均方误差等。请参阅如何确定回归的准确性?应该使用哪种措施?

在构建 keras LSTM 模型时,通常会先构建“骨架”,然后编译拟合,最后进行预测。在编译步骤中,您需要定义损失函数(请参阅Keras 文档中的顺序模型)和指标,因此您可以执行例如

model.compile(loss='mean_squared_error', optimizer='sgd', metrics=['mean_squared_error'])

(请参阅有关度量的 Keras 文档)。因此,如果您将accuracy作为指标放在回归设置中,您将不会得到合理的结果,因为该指标仅适用于分类任务。


推荐阅读