I’m training a ColumnarModelData object on my own task and outputting predictions where I care a lot more about the prediction being too small than too big. I’d actually prefer the prediction to be too big if anything else. Is there an error metric that I can use that does this? I have been attempting to make a custom one but it does seem to do what I want:
def inv_y(a): return np.exp(a)
def checkit(y_pred, targ):
targ = inv_y(targ)
pct_var = targ - inv_y(y_pred)
return math.sqrt((pct_var**2).mean()) * 5. if pct_var.mean() < 0 else math.sqrt((pct_var**2).mean()) * 0.2