#此函数可由模型输出的预测值和实际值计算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)
}
r语言对模型输出预测值与实际值计算R2,MS残,RMSE和NRMSD,实现模型评估
最新推荐文章于 2023-06-05 09:10:04 发布