我一直在尝试在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)