如何实现均值调整后的绝对百分比误差损失

时间:2019-01-25 21:13:11

标签: function keras loss

我一直在尝试在keras中实现(均值调整的绝对百分比误差)损失函数,但没有成功。

自定义损失的描述是:

APEi = | yi ^ -yi | max(| yi |,阈值)

其中,y是实际值,y是预测值,阈值是恒定的。使用阈值可确保对较小值的预测不会受到过度惩罚。

总体指标,即平均调整后的绝对百分比误差,是所有测试实例中APEi的平均值,其中

MAPE = 1 / N ∑i = 1N | yi ^ -yi | max(| yi |,290000)

我没有成功实现的代码如下:

import keras.backend as K

  def customLoss(yTrue,yPred ): 
      y_true, y_pred = K.flatten(yTrue), K.flatten(yPred)
      return np.sum(np.abs(y_test - y_pred) / max(abs(y_pred),290000)) * 
         1/len(yTrue)

0 个答案:

没有答案