import numpy as np
def masked_mape_np(y_true, y_pred, null_val=np.nan):
with np.errstate(divide='ignore', invalid='ignore'):
if np.isnan(null_val):
mask = ~np.isnan(y_true)
else:
mask = np.not_equal(y_true, null_val)
mask = mask.astype('float32')
mask /= np.mean(mask)
mape = np.abs(np.divide(np.subtract(y_pred, y_true).astype('float32'),
y_true))
mape = np.nan_to_num(mask * mape)
return np.mean(mape) * 100
MAPE的实现方式
最新推荐文章于 2025-07-16 12:29:34 发布