文章目录
回归评价指标公式MSERMSEMAEMAPEpython实现numpysklearn回归评价指标公式
假设:
预测值:y^={y1^,y2^,…,yn^}\hat{y}=\{\hat{y_1},\hat{y_2},…,\hat{y_n}\}y^={y1^,y2^,…,yn^}
真实值:y={y1,y2,…,yn}y=\{y_1,y_2,…,y_n\}y={y1,y2,…,yn}
MSE
均方误差 – Mean Square Error
MSE=1n∑i=1n(yi^−yi)2MSE=\frac{1}{n}\sum_{i=1}^n(\hat{y_i}-y_i)^2MSE=n1i=1∑n(yi^−yi)2
RMSE
均方根误差 – Root Mean Square Error
RMSE=1n∑i=1n(yi^−yi)2RMSE=\sqrt{\frac{1}{n}\sum_{i=1}^n(\hat{y_i}-y_i)^2}RMSE=n1i=1∑n(yi^−yi)2
MAE
平均绝对误差 – Mean Absolute Error
MAE=1n∑i=1n∣yi^−yi∣MAE=\frac{1}{n}\sum_{i=1}^n|\hat{y_i}-y_i|MAE=n1i=1∑n∣yi^−yi∣
MAPE
平均绝对百分比误差 – Mean Absolute Percentage Error
MAPE=100%n∑i=1n∣yi^−yiyi∣MAPE=\frac{100\%}{n}\sum_{i=1}^n|\frac{\hat{y_i}-y_i}{y_i}|MAPE=n100%i=1∑n∣yiyi^−yi∣
python实现
numpy
numpy的范数可以实现 MSE、RMSE、MAE,也可以都自己写。
numpy范数说明:
x_norm = np.linalg.norm(x, ord=None, axis=None, keepdims=False)
import numpy as npy = np.array([1,1])y_hat = np.array([2,3])## 利用范数实现## MSE--相当于y-y_hat的二阶范数的平方/nMSE = np.linalg.norm(y-y_hat, ord=2)**2/len(y)## RMSE--相当于y-y_hat的二阶范数/根号nRMSE = np.linalg.norm(y-y_hat, ord=2)/len(y)**0.5## MAE--相当于y-y_hat的一阶范数/nMAE = np.linalg.norm(y-y_hat, ord=1)/len(y)## 自己写MSE = np.mean(np.square(y - y_hat))RMSE = np.sqrt(np.mean(np.square(y - y_hat)))MAE = np.mean(np.abs(y-y_hat))MAPE = np.mean(np.abs((y - y_hat) / y)) * 100
sklearn
sklearn.metrics 可以实现 MSE、RMSE、MAE
from sklearn import metricsy = np.array([1,1])y_hat = np.array([2,3])MSE = metrics.mean_squared_error(y, y_hat)RMSE = metrics.mean_squared_error(y, y_hat)**0.5MAE = metrics.mean_absolute_error(y, y_hat)MAPE = metrics.mean_absolute_percentage_error(y, y_hat)
如果觉得《回归评价指标MSE RMSE MAE MAPE及python实现》对你有帮助,请点赞、收藏,并留下你的观点哦!