1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 机器学习|线性回归三大评价指标实现『MAE MSE MAPE』(Python语言描述)

机器学习|线性回归三大评价指标实现『MAE MSE MAPE』(Python语言描述)

时间:2020-07-17 05:25:30

相关推荐

机器学习|线性回归三大评价指标实现『MAE  MSE  MAPE』(Python语言描述)

原文地址 ?传送门

对于回归预测结果,通常会有平均绝对误差、平均绝对百分比误差、均方误差等多个指标进行评价。这里,我们先介绍最常用的3个:

平均绝对误差(MAE)

就是绝对误差的平均值,它的计算公式如下:

M A E ( y , y ^ ) = 1 n ( ∑ i = 1 n ∣ y − y ^ ∣ ) MAE(y,\hat{y}) = \frac{1}{n}(\sum_{i = 1}^{n}\left | y - \hat{y} \right |) MAE(y,y^​)=n1​(i=1∑n​∣y−y^​∣)

其中, y i y_{i} yi​ 表示真实值, y ^ i \hat y_{i} y^​i​ 表示预测值, n n n 则表示值的个数。MAE 的值越小,说明预测模型拥有更好的精确度。我们可以尝试使用 Python 实现 MAE 计算函数:

import numpy as npdef mae_value(y_true, y_pred):"""参数:y_true -- 测试集目标真实值y_pred -- 测试集目标预测值返回:mae -- MAE 评价指标"""n = len(y_true)mae = sum(np.abs(y_true - y_pred))/nreturn mae

均方误差(MSE)

它表示误差的平方的期望值,它的计算公式如下:

M S E ( y , y ^ ) = 1 n ∑ i = 1 n ( y i − y ^ ) 2 {MSE}(y, \hat{y} ) = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y})^{2} MSE(y,y^​)=n1​i=1∑n​(yi​−y^​)2

其中, y i y_{i} yi​ 表示真实值, y ^ i \hat y_{i} y^​i​ 表示预测值, n n n 则表示值的个数。MSE 的值越小,说明预测模型拥有更好的精确度。同样,我们可以尝试使用 Python 实现 MSE 计算函数:

import numpy as npdef mse_value(y_true, y_pred):"""参数:y_true -- 测试集目标真实值y_pred -- 测试集目标预测值返回:mse -- MSE 评价指标"""n = len(y_true)mse = sum(np.square(y_true - y_pred))/nreturn mse

平均绝对百分比误差 M A P E MAPE MAPE

M A P E MAPE MAPE 是 M A D MAD MAD 的变形,它是一个百分比值,因此比其他统计量更容易理解。例如,如果 M A P E MAPE MAPE 为 5 5 5,则表示预测结果较真实结果平均偏离 5 5% 5。 M A P E MAPE MAPE 的计算公式如下:

M A P E ( y , y ^ ) = ∑ i = 1 n ∣ y i − y ^ i y i ∣ n × 100 % {MAPE}(y, \hat{y} ) = \frac{\sum_{i=1}^{n}{|\frac{y_{i}-\hat y_{i}}{y_{i}}|}}{n} \times 100{\%} MAPE(y,y^​)=n∑i=1n​∣yi​yi​−y^​i​​∣​×100%

其中, y i y_{i} yi​ 表示真实值, y ^ i \hat y_{i} y^​i​ 表示预测值, n n n 则表示值的个数。 M A P E MAPE MAPE 的值越小,说明预测模型拥有更好的精确度。使用 Python 实现 MSE 计算函数:

import numpy as npdef mape(y_true, y_pred):"""参数:y_true -- 测试集目标真实值y_pred -- 测试集目标预测值返回:mape -- MAPE 评价指标"""n = len(y_true)mape = sum(np.abs((y_true - y_pred)/y_true))/n*100return mape

参考

方差(variance)、标准差(Standard Deviation)、均方差、均方根值(RMS)、均方误差(MSE)、均方根误差(RMSE)Mean squared error-Wikipedia

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。