获悉以下详情,点击 指点迷津 | Brief 咨询。
平均绝对误差表示数据集中实际值和预测值之间的绝对差的平均值。它测量数据集中残差的平均值。
$$ M A E=\frac{1}{N} \sum_{i=1}^N\left|y_i-\hat{y}\right| $$
Python方法一:使用公式
actual = [2, 3, 5, 5, 9]
calculated = [3, 3, 8, 7, 6]
n = 5
sum = 0
# for loop for iteration
for i in range(n):
sum += abs(actual[i] - calculated[i])
error = sum/n
# display
print("Mean absolute error : " + str(error))
方法二:使用sklearn
from sklearn.metrics import mean_absolute_error as mae
actual = [2, 3, 5, 5, 9]
calculated = [3, 3, 8, 7, 6]
error = mae(actual, calculated)
print("Mean absolute error : " + str(error))
均方误差表示数据集中原始值和预测值之间的平方差的平均值。它测量残差的方差。
$$ M S E=\frac{1}{N} \sum_{i=1}^N\left(y_i-\hat{y}\right)^2 $$
示例:给定的数据点:(1,1)、(2,1)、(3,2)、(4,2)、(5,4) ,回归线方程:Y = 0.7X – 0.1
$$ \begin{array}{|l|l|l|} \hline X & Y & \hat{Y}_i \\ \hline 1 & 1 & 0.6 \\ \hline 2 & 1 & 1.29 \\ \hline 3 & 2 & 1.99 \\ \hline 4 & 2 & 2.69 \\ \hline 5 & 4 & 3.4 \\ \hline \end{array} $$
方法一:
from sklearn.metrics import mean_squared_error
Y_true = [1,1,2,2,4]
Y_pred = [0.6,1.29,1.99,2.69,3.4]
mean_squared_error(Y_true,Y_pred)
输出: 0.21606 方法二:
import numpy as np
Y_true = [1,1,2,2,4]
Y_pred = [0.6,1.29,1.99,2.69,3.4]
MSE = np.square(np.subtract(Y_true,Y_pred)).mean()
输出: 0.21606
均方根误差是均方误差的平方根。它测量残差的标准偏差。
$$ R M S E=\sqrt{M S E}=\sqrt{\frac{1}{N} \sum_{i=1}^N\left(y_i-\hat{y}\right)^2} $$