R语言 如何计算MAE
在这篇文章中,我们将在R编程语言中计算平均绝对误差。
平均绝对误差: 它是对表达同一现象的成对观测值之间的误差的衡量,也是衡量一个给定模型的准确性的方法。它的公式如下。
MAE = (1/n) *** Σ|yi **- xi||
其中。
- Σ:总和
- yi:第1个观测值的观测值
- xi。第1个观测值的预测值
- n:观察值的总数
方法1:使用实际公式
平均绝对误差(MAE)的计算方法是:将整个向量上每个观测值的实际值和计算值之间的绝对差值相加,然后将得到的总和除以向量中观测值的数量。
在这个例子中,我们取两个向量,即实际向量和计算向量,并且进一步使用MAE的基本公式,我们将在R中计算它。
# a vector of integers for actual
actual = c(8,9,6,1,4,8,6,4,5,6)
# a vector of integers for actual
calculated = c(9,6,4,8,4,1,2,3,9,6)
n = 10
sum = 0
# for loop for iteration
for (i in 1:n){
sum = abs(actual[i] - calculated[i]) + sum
}
error = sum/n
# display
error
输出 。
[1] 2.9
方法2:使用mae()函数计算向量间的MAE
关于测量平均绝对误差,这里我们必须调用Metrics包中的mae()函数,并向其传递所需的参数,以获得结果。
在R控制台安装度量包的语法 。
install.packages('Metrics")
在这个例子中,我们使用mae()函数计算mae,其参数为传递的向量,向量的值与上一个例子中使用的相同。
# Import required package
library(Metrics)
# consider a vector of integers for actual
actual = c(8,9,6,1,4,8,6,4,5,6)
# consider a vector of integers for actual
calculated = c(9,6,4,8,4,1,2,3,9,6)
n = 10
sum = 0
# for loop for iteration
for (i in 1:n){
sum = abs(actual[i] - calculated[i]) + sum
}
error = sum/n
# display
mae(actual,calculated)
输出 。
[1] 2.9
方法3:计算回归模型的MAE
在这个方法中,我们使用的是回归模型,而不是前面例子中使用的向量,因为对MAE的定义说,它是用来获得所建模型的准确性的,所以在这个方法中,我们只是创建一个包含10列和3行的数据框,其中包含整数值,我们只是使用mae()函数,通过所建数据框的列的尊重参数来获得模型的MAE。
在这个例子中,我们创建了一个3行10列的数据框,然后进一步将这个数据框拟合到线性回归模型中,最后,我们在R中使用模型的预测值与实际值来计算模型的精度MAE。
# Import required package
library(Metrics)
# Create Data frame
gfg_df <- data.frame(x1=c(4,8,9,4,1,8,9,4,1,6),
x2=c(1,3,2,8,9,9,6,7,4,1),
y=c(8,5,1,3,2,4,1,6,2,5))
# fit regression model
model <- lm(y~x1+x2, data=gfg_df)
# display mae
mae(gfg_df$y, predict(model))
输出 。
[1] 1.782963