# przyklad 3.2 ################### # jedna obserwacja # y.pred - wyniki predykcji dla obserwacji # y - wartosc empiryczna (jedna liczba) # load(file="bos 300 .dat") # zbiór wyników predykcji 300 modeli bazowych lobs<-length(bos.test.y) lmod<-200 ks<-seq(10,lmod,10) bb<-sample(1:lobs,1) # losowa obserwacja #bb<-71 blad<-numeric(length=length(ks)) war<-blad obc<-blad #d<-bos.test.d # drzewa d<-bos.test.k # knn dla k=9 y<-bos.test.y[bb] for (i in seq(along=ks)) { y.pred<-d[bb,1:ks[i]] blad[i]<-mean((y-y.pred)^2) war[i]<-var(y.pred) obc[i]<-(mean(y.pred)-y)^2 } blad.d<-blad obc.d<-obc war.d<-war # linie + punkty czb plot(blad.d,xaxt="n",xlab="Liczba modeli bazowych",ylab="Błąd predykcji",ylim=c(0,max(blad.d)+1),type="n",main="Drzewa regresyjne") axis(1,labels=ks,at=1:length(ks)) lines(blad.d,type="l",pch=2) lines(war.d,type="l",pch=3) lines(obc.d,type="l",pch=4) points(blad.d,cex=.7,pch=2) points(war.d,cex=.7,pch=3) points(obc.d,cex=.7,pch=4) legend("topright",lty=1,pch=c(2,3,4),legend = c("błąd", "wariancja","kwadrat obciążenia")) blad.k<-blad obc.k<-obc war.k<-war plot(blad.k,xaxt="n",xlab="Liczba modeli bazowych",ylab="Błąd predykcji",ylim=c(0,max(blad.k)+10),type="n",main="9-NN") axis(1,labels=ks,at=1:length(ks)) lines(blad.k,type="l",pch=2) lines(war.k,type="l",pch=3) lines(obc.k,type="l",pch=4) points(blad.k,cex=.7,pch=2) points(war.k,cex=.7,pch=3) points(obc.k,cex=.7,pch=4) legend("topright",lty=1,pch=c(2,3,4),legend = c("błąd", "wariancja","kwadrat obciążenia"))