RegressionMetric

计算回归指标来评估预测数据与真实数据相比的质量

double vector::RegressionMetric(
   const vector&           vector_true,   // 真值向量
   ENUM_REGRESSION_METRIC  metric         // 指标类型
   );
 
double matrix::RegressionMetric(
   const matrix&           matrix_true,   // 真值矩阵
   ENUM_REGRESSION_METRIC  metric         // 指标类型
);
 
vector matrix::RegressionMetric(
   const matrix&           matrix_true,   // 真值矩阵
   ENUM_REGRESSION_METRIC  metric,        // 指标类型
   int                     axis           // 轴线
   );

参数

vector_true/matrix_true

[in]  真值的向量或矩阵。

metric

[in]  来自ENUM_REGRESSION_METRIC枚举的指标类型。

axis

[in]  轴线。0 ― 横轴,1 ― 竖轴。

返回值

计算用于评估预测数据与真实数据相比的质量的指标

注意

  • REGRESSION_MAE ― 平均绝对误差,表示预测值与相应真值之间的绝对差值
  • REGRESSION_MSE ― 均方误差,表示预测值与对应真值之间的平方差
  • REGRESSION_RMSE ― 均方根误差(RMSE)
  • REGRESSION_R2 - 1 ― MSE(回归)/ MSE(平均)
  • REGRESSION_MAPE ― 平均绝对误差(MAE)百分比
  • REGRESSION_MSPE ― 均方误差(MSE)百分比
  • REGRESSION_RMSLE ― 按对数尺计算的RMSE(均方根误差)

例如:

   vector y_true = {3, -0.527};
   vector y_pred = {2.50.028};
//---
   double mse=y_pred.RegressionMetric(y_true,REGRESSION_MSE);
   Print("mse=",mse);
//---
   double mae=y_pred.RegressionMetric(y_true,REGRESSION_MAE);
   Print("mae=",mae);
//---
   double r2=y_pred.RegressionMetric(y_true,REGRESSION_R2);
   Print("r2=",r2);
 
  /* Result
   mae=0.375
   mse=0.5
   r2=0.9486081370449679
   */