跳至内容

RegressionMetric

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.5, 2, 7};
   vector y_pred = {2.5, 0.0, 2, 8};
//---
   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
   */