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

  • Post author:
  • Post category:其他


#此函数可由模型输出的预测值和实际值计算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)

}



版权声明:本文为qq_38308359原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。