用R语言计算rmse、mape、mae
时间: 2024-02-01 12:02:40 浏览: 66
计算RMSE(均方根误差):
假设我们有两个向量:实际值 y 和预测值 y_pred,n 是向量的长度,则RMSE的计算公式为:
```R
rmse <- function(y, y_pred) {
sqrt(mean((y - y_pred)^2))
}
```
计算MAPE(平均绝对误差百分比):
同样假设我们有两个向量:实际值 y 和预测值 y_pred,n 是向量的长度,则MAPE的计算公式为:
```R
mape <- function(y, y_pred) {
mean(abs((y - y_pred) / y)) * 100
}
```
计算MAE(平均绝对误差):
同样假设我们有两个向量:实际值 y 和预测值 y_pred,n 是向量的长度,则MAE的计算公式为:
```R
mae <- function(y, y_pred) {
mean(abs(y - y_pred))
}
```
相关问题
rmse、mape、mae计算代码R语言
以下是R语言中计算rmse、mape、mae的代码:
1. 计算RMSE
```R
rmse <- function(actual, predicted){
sqrt(mean((actual - predicted)^2))
}
# 示例
actual <- c(2, 4, 6, 8, 10)
predicted <- c(3, 5, 7, 9, 11)
rmse(actual, predicted) # 输出 1
```
2. 计算MAPE
```R
mape <- function(actual, predicted){
mean(abs((actual - predicted) / actual)) * 100
}
# 示例
actual <- c(2, 4, 6, 8, 10)
predicted <- c(3, 5, 7, 9, 11)
mape(actual, predicted) # 输出 12.5
```
3. 计算MAE
```R
mae <- function(actual, predicted){
mean(abs(actual - predicted))
}
# 示例
actual <- c(2, 4, 6, 8, 10)
predicted <- c(3, 5, 7, 9, 11)
mae(actual, predicted) # 输出 1
```
RMSE MAE MAPE
RMSE是指对MSE(均方误差)开方之后得到的结果,用于衡量预测值与真实值之间的差异。 MAE代表平均绝对误差损失(Mean Absolute Error Loss),它计算的是预测值与真实值之间的绝对差值的平均值。 MAPE是指平均绝对百分比误差(Mean Absolute Percentage Error),它是计算预测值与真实值之间的百分比差异的平均值。
相比于RMSE和MAPE,MAE有一个优势,就是对离群点不敏感,具有更强的包容性。因为MAE计算的是误差的绝对值,无论误差是大于1还是小于1,惩罚力度都是一样的,权重相同。 RMSE和MAPE的损失值与误差之间存在平方关系或百分比关系,当误差越大时,它们的损失值也会相应增大,对模型训练产生更大的影响。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [深度学习常用损失MSE、RMSE、MAE和MAPE](https://blog.csdn.net/weixin_48018951/article/details/129611907)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]