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 — MSEの平方根
  • REGRESSION_R2 - 1 — MSE(regression) / MSE(mean)
  • 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);
 
  /* 結果
  mae=0.375
  mse=0.5
  r2=0.9486081370449679
  */