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
*/