library(rpart.plot)
n=1385
zz1=1:n
zz2=rep(1:5,ceiling(1385/5))[1:n]
set.seed(100)
zz2=sample(zz2,n) #有放回抽样
NMSE=rep(0,5)
NMSE0=NMSE
for(i in 1:5){
m=zz1[zz2==i]
#决策树回归
library(rpart.plot)
a=rpart(w$y~.,w[,-m])
rpart.plot(a,type=2,faclen=T) #画决策树回归图
y0<-predict(a,w[-m,]) #对训练集集预测
y1=predict(a,w[m,]) #对测试集预测
NMSE0[i]=mean((w$y[-m]-y0)^2)/mean((w$y[-m]-mean(w$y[-m]))^2)
NMSE[i]=mean((w$y[m]-y1)^2)/mean((w$y[m]-mean(w$y[m]))^2)
}
mean(NMSE0) #训练集的标准化均方误差
mean(NMSE) #测试的标准化均方误差
n=1385
zz1=1:n
zz2=rep(1:5,ceiling(1385/5))[1:n]
set.seed(100)
zz2=sample(zz2,n) #有放回抽样
NMSE=rep(0,5)
NMSE0=NMSE
for(i in 1:5){
m=zz1[zz2==i]
#决策树回归
library(rpart.plot)
a=rpart(w$y~.,w[,-m])
rpart.plot(a,type=2,faclen=T) #画决策树回归图
y0<-predict(a,w[-m,]) #对训练集集预测
y1=predict(a,w[m,]) #对测试集预测
NMSE0[i]=mean((w$y[-m]-y0)^2)/mean((w$y[-m]-mean(w$y[-m]))^2)
NMSE[i]=mean((w$y[m]-y1)^2)/mean((w$y[m]-mean(w$y[m]))^2)
}
mean(NMSE0) #训练集的标准化均方误差
mean(NMSE) #测试的标准化均方误差