r语言对模型输出预测值与实际值计算R2,MS残,RMSE和NRMSD,实现模型评估

2023-11-07

#此函数可由模型输出的预测值和实际值计算r2或均方根误差RMSE或归一化后的均方根偏差NRMSD
#公式参考吴今朝译《R语言机器学习》323-324页
r2.test<-function(y_actual,y_predicted){
  avr_y_actual <- mean(y_actual)
  ss_total <- sum((y_actual - avr_y_actual)^2)
  ss_regression <- sum((y_predicted - avr_y_actual)^2)
  ss_residuals <- sum((y_actual - y_predicted)^2)
  rsquare <- 1 - ss_residuals / ss_total
  #return(rsquare)#当模型偏差过大,rsquare很小时,不采用rsquare统计
  n1<-length(y_actual)
  n2<-length(y_predicted)#要求n1==n2
  meansquare<-ss_residuals/(n1-2)
  #参考王辰勇译《线性回归分析导论》12页
  #return(meansquare)#MS残
  RMSE<-(ss_residuals/n1)^0.5
  NRMSD<-RMSE/avr_y_actual
  return(NRMSD)
  }

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

r语言对模型输出预测值与实际值计算R2,MS残,RMSE和NRMSD,实现模型评估 的相关文章

随机推荐