📜  如何在 R 中计算 MAE

📅  最后修改于: 2022-05-13 01:55:27.629000             🧑  作者: Mango

如何在 R 中计算 MAE

在本文中,我们正在计算 R 编程语言中的平均绝对误差。

平均绝对误差:它是对表达相同现象的成对观察之间的误差的度量,是衡量给定模型准确性的方法。它的公式如下:

方法一:使用实际公式

平均绝对误差 (MAE) 的计算方法是将每个观测值在整个向量上的实际值和计算值之间的绝对差值求和,然后将得到的总和除以向量中的观测值数。

在这个例子中,我们将两个向量作为实际向量和计算向量,进一步,使用 MAE 的基本公式,我们将在 R 中计算它。

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


R
# 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)


R
# 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] 2.9

方法2:使用mae()函数计算向量间的MAE

关于测量平均绝对误差,这里我们必须调用 Metrics 包中的 mae()函数,并将相关参数传递给它以获得结果。

在 R 控制台中安装度量包的语法:

install.packages('Metrics")

在此示例中,我们使用 mae()函数计算 mae,并将向量作为其参数传递,向量的值与前面示例中的使用相同。

R

# 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 列的数据框,最后进一步将该数据框拟合到线性回归模型,我们使用模型的预测值与实际值来计算模型精度 MAE它在 R 中。

R

# 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