回归预测常见的评估指标及计算案例

回归预测常见的评估指标

  1. 平均绝对误差(Mean Absolute Error,MAE)
  2. 均方误差(Mean Squared Error,MSE)
  3. 平均绝对百分误差(Mean Absolute Percentage Error,MAPE)
  4. 均方根误差(Root Mean Squared Error)
  5. R2(R-Square)

平均绝对误差MAE

平均绝对误差MAE,其能更好地反映预测值与真实值误差的实际情况,计算公式如下:
在这里插入图片描述

均方误差MSE

均方误差MSE的计算公式为:
在这里插入图片描述

平均绝对百分误差MAPE

平均绝对百分误差的计算公式为:
在这里插入图片描述

R2(R-Square)

R2(R-Square)的公式为残差平方和
在这里插入图片描述
总平均值
在这里插入图片描述
其中y\overline{y}表示yy的平均值
得到R2R^2表达式为:
R2=1SSresSStot=1(yiy^i)2(yiy)2 R^{2}=1-\frac{SS_{res}}{SS_{tot}}=1-\frac{\sum\left(y_{i}-\hat{y}_{i}\right)^{2}}{\sum\left(y_{i}-\overline{y}\right)^{2}}
R2R^2用于度量因变量的变异中可由自变量解释部分所占的比例,取值范围是 0~1,R2R^2越接近1,表明回归平方和占总平方和的比例越大,回归线与各观测点越接近,用x的变化来解释y值变化的部分就越多,回归的拟合程度就越好。所以R2R^2也称为拟合优度(Goodness of Fit)的统计量。

yiy_{i}表示真实值,y^i\hat{y}_{i}表示预测值,yi\overline{y}_{i}表示样本均值。得分越高拟合效果越好。

计算案例

import numpy as np

from sklearn import metrics

# MAPE需要自己实现
def MAPE(y_true,y_pre):
    return np.mean(np.abs((y_pre - y_true)/y_true))

y_true = np.array([1,2,3,4,5,6,7,8,3,4,5,6])
y_pre = np.array([1,2,3,4,5,5,7,8,3,10,5,6])

# MAE
print('MAE:',metrics.mean_absolute_error(y_true, y_pre))
# MSE
print('MSE:',metrics.mean_squared_error(y_true, y_pre))
# MAPE
print('MAPE:',MAPE(y_true,y_pre))
# RMSE
print('RMAE:',np.square(metrics.mean_absolute_error(y_true, y_pre)))

在这里插入图片描述

## R2-score
from sklearn.metrics import r2_score
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]
print('R2-score:',r2_score(y_true, y_pred))

在这里插入图片描述

发布了902 篇原创文章 · 获赞 1314 · 访问量 19万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 酷酷鲨 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览