回归模型评价指标:
MSE = mean_squared_error(self.y_test, self.y_predict)
save_dict['均方误差MSE'] = MSE
RMSE = np.sqrt(mean_squared_error(self.y_test, self.y_predict))
save_dict['均方根误差RMSE'] = RMSE
MAE = mean_absolute_error(self.y_test, self.y_predict)
save_dict['平均绝对误差MAE'] = MAE
n = len(self.y_test)
# MAPE = sum(np.abs((self.y_test.values - self.y_predict.values) / self.y_test.values)) / n * 100
MAPE = 100 * MAE / (sum(self.y_test.values)/n)
save_dict['平均绝对百分比误差MAPE'] = MAPE
r2_score_ = r2_score(self.y_test, self.y_predict)
save_dict['决定系数r2_score'] = r2_score_
# 校正决定系数 n 是样本数量,p 是特征数量
df = pd.read_csv(os.path.join(data_dir, 'x_train.csv'))
n, p = df.shape
adjusted_r2 = 1 - ((1 - r2_score(self.y_test, self.y_predict)) * (n - 1)) / (n - p - 1)
save_dict['校正决定系数'] = adjusted_r2