【发布时间】:2019-04-09 11:40:24
【问题描述】:
我正在使用Rossmann dataset. 进行多变量预测,我现在需要使用 RMSPE 指标来评估我的模型。我看到了相关的公式here。但我不确定如何使用 numpy 有效地实现这一点。任何帮助深表感谢。
【问题讨论】:
标签: python-3.x numpy machine-learning
我正在使用Rossmann dataset. 进行多变量预测,我现在需要使用 RMSPE 指标来评估我的模型。我看到了相关的公式here。但我不确定如何使用 numpy 有效地实现这一点。任何帮助深表感谢。
【问题讨论】:
标签: python-3.x numpy machine-learning
您可以利用 numpy 的矢量化功能来处理这样的错误度量。以下函数可用于计算 RMSPE:
def rmse(y_true, y_pred):
'''
Compute Root Mean Square Percentage Error between two arrays.
'''
loss = np.sqrt(np.mean(np.square(((y_true - y_pred) / y_true)), axis=0))
return loss
(对于向量之间的错误,axis=0 明确指出错误是按行计算的,返回一个向量。这不是必需的,因为这是np.mean 的默认行为。)
【讨论】:
它应该被基本事实规范化。
def rmspe(y_true, y_pred):
return np.sqrt(np.nanmean(np.square(((y_true - y_pred) / y_true))))*100
【讨论】: