##### Blatt 6 ## Aufgabe 1a #### Regression Tree ## Lade Daten data(airquality) airquality <- na.omit(airquality) ## Lade tree Paket library(rpart) library(partykit) ## Fitte lineares Modell mit und ohne Interaktionen limo1<-lm(Ozone~Wind+Temp+Solar.R,data=airquality) summary(limo1) limo2<-lm(Ozone~Wind*Temp*Solar.R,data=airquality) summary(limo2) limo3<-lm(Ozone~Wind*Temp*Solar.R-Wind:Temp:Solar.R,data=airquality) summary(limo3) ## Fitte Regression Tree reg.rpart <- rpart(Ozone~Wind+Temp+Solar.R,data=airquality) ## Schoene Visualisierung reg.rpart <- as.party(reg.rpart) plot(reg.rpart) ## Vergleiche quadratischen Vorhersagefehler der drei Methoden mean((airquality$Ozone-predict(limo1))^2) mean((airquality$Ozone-predict(limo2))^2) mean((airquality$Ozone-predict(limo3))^2) mean((airquality$Ozone-predict(reg.rpart))^2) ## Achtung: Die Vorhersagen sind in-sample! ## moeglicherweise Overfitting #################################################################### ## Aufgabe 1b #### Classification Tree ## Lade Daten data(iris) ## Baum mit nur 2 Einflussgrößen class.rpart<-rpart(Species~Sepal.Length+Sepal.Width,data=iris) class.rpart <- as.party(class.rpart) plot(class.rpart) ## Veranschauliche Classification zweidimensional attach(iris) plot(Sepal.Length,Sepal.Width,col=Species,pch=20,cex=2) abline(v=5.45) segments(x0=4,x1=5.45,y0=2.8) abline(v=6.15) segments(x0=5.45,x1=6.15,y0=3.1) legend("topleft",legend=levels(Species),col=1:3,bty="n",pch=20) ## Baum mit allen Einflussgrößen class.rpart2<-rpart(Species~.,data=iris) class.rpart2 <- as.party(class.rpart2) plot(class.rpart2) plot(Petal.Length,Petal.Width,col=Species,pch=20,cex=2) abline(v=2.45) segments(x0=2.45,y0=1.75,x1=7.5) legend("topleft",legend=levels(Species),col=1:3,bty="n",pch=20) plot(class.rpart) x11() plot(class.rpart2)