in Python/length_of_stay_utils.py [0:0]
def evaluate_model(observed, predicted, model):
mean_observed = np.mean(observed)
se = (observed - predicted)**2
ae = abs(observed - predicted)
sem = (observed - mean_observed)**2
aem = abs(observed - mean_observed)
mae = np.mean(ae)
rmse = np.sqrt(np.mean(se))
rae = sum(ae) / sum(aem)
rse = sum(se) / sum(sem)
rsq = 1 - rse
metrics = OrderedDict([ ("model_name", [model]),
("mean_absolute_error", [mae]),
("root_mean_squared_error", [rmse]),
("relative_absolute_error", [rae]),
("relative_squared_error", [rse]),
("coefficient_of_determination", [rsq]) ])
print(metrics)
return(metrics)