如何使用 numpy 在 python 中计算 RMSPE

Sul*_*_28 0 numpy machine-learning python-3.x

我正在使用Rossmann 数据集进行多变量预测我现在需要使用 RMSPE 指标来评估我的模型。我在这里看到了相关公式。但我不确定如何使用 numpy 有效地实现这一点。任何帮助深表感谢。

Chr*_*ris 5

您可以利用 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
Run Code Online (Sandbox Code Playgroud)

(对于向量之间的错误,axis=0明确指出该错误是按行计算的,返回一个向量。它不是必需的,因为这是 的默认行为np.mean。)