1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| import math
def cul_RMSE(real_list, predict_list): """ 计算均方根误差。 :param real_list: 真实数据列表 :param predict_list: 预测数据列表 :return: 均方根误差 """ length = len(real_list) ret = 0 for index in range(0,length): if isinstance(real_list[index], list): ret += math.pow(real_list[index][0] - predict_list[index][0], 2) else: ret += math.pow(real_list[index] - predict_list[index], 2) ret /= length ret = math.sqrt(ret) return ret
def cul_MAPE(real_list, predict_list): """ 计算平均绝对百分比误差。 :param real_list: 真实数据列表 :param predict_list: 预测数据列表 :return: 平均绝对百分比误差 """ length = len(real_list) ret = 0 for index in range(0, length): if isinstance(real_list[index], list): ret += abs((real_list[index][0] - predict_list[index][0]) / real_list[index][0]) else: ret += abs((real_list[index]- predict_list[index]) / real_list[index]) ret /= length return ret
def cul_MAE(real_list, predict_list): """ 计算平均绝对误差。 :param real_list: 真实数据列表 :param predict_list: 预测数据列表 :return: 平均绝对误差 """ length = len(real_list) ret = 0 for index in range(0, length): if isinstance(real_list[index],list): ret += abs(real_list[index][0] - predict_list[index][0]) else : ret += abs(real_list[index] - predict_list[index]) ret /= length return ret
|