Drzewa klasyfikacyjne
Dla danych dane.csv (z modeli liniowych i mieszanych) skonstruować drzewo klasyfikacyjne, gdzie liśćmi będzie miejsce hospitalizacji, natomiast korzeniami płeć, wiek oraz poziom hemoglobiny.
> drzewo=rpart(szpital~Wiek+Płeć+Anemia,data=dane,cp=0.005, minsplit=10)
> plot(drzewo,branch=0.7)
> text(drzewo,use.n=T)
Następnie wykonać następujące polecenia.
1) Wybrać optymalną wartość współczynnika złożoności, przy pomocy funkcji
> plotcp(drzewo)
i wyznaczyć ponownie drzewo z uzyskaną wartością współczynnika złożoności.
2) Wybrać drzewo optymalne przy pomocy metody kros-walidacji
> for (i in l:n) {
> drzewo.i=rpart(szpital'vPłeć+Wiek+Hemoglobina,data=dane[-c(i),),cp=0.005,minsplit=10)
> pred=predict(drzewo.i,newdata=dane[c(i),],type="classM)
> if (pred==dane$szpital[ij) popr.klas[i)=l
> }
> popr.klas
3) Następnie oszacować ułamek poprawnych klasyfikacji oraz błąd klasyfikacji na podstawie kros-walidacji
> upk=sum(popr.klas)/n
> bl.cv=l-upk
4) Porównać wartości z zadania nr 3 dla drzewa ze współczynnikiem złożoności=0.005. Które drzewo jest lepsze?
5) Do której z klas należałby mężczyzna w wieku 74 lat z poziomem hemoglobiny 13.29?
> new.dane=as.data.frame(matrix(c(l,74,13.29),1,3))
> names(new.dane)=c("Płeć","Wiek","Hemoglobina")
> predict(drzewo,new.dane,type=’'class")
6) Maksymalnie w trzy-osobowych grupach roboczych opisać i zinterpretować uzyskane wyniki.