R-ohjelmointi.org

Tilastotieteellistä ohjelmointia R-kielellä

CART-analyysin visualisointi

Classification and regression trees (CART, päätöspuut) on menetelmä, jolla luodaan tietyn aineiston pohjalta puukaavion muodossa esitetty päätäntäkaavio, jota seuraamalla päästää johonkin päättötapahtumaan. Tarkastellaanpa vaikka Titanicin matkustajien selviämistä onnettomuudesta.

Analyysi tehdään R:ssä esimerkiksi seuraavasti:

library(rpart)
data(ptitanic) 
fit1 <- rpart(survived ~ ., data=ptitanic, cp=.02) 
plot(fit1, uniform=TRUE, compress=TRUE, branch=1)
text(fit1, use.n=TRUE, cex=1, xpd=NA)

Tuloksena syntyy aika karunnäköinen kaavio:

Onneksi paketti plot.rpart tarjoaa laajemman valikoiman erilaisia visualisointimahdollisuuksia. Kauniimpi kuva saadaan syntymään esimerkiksi seuraavasti:

prp(fit1, branch.type=5, type=0, yesno=TRUE, faclen=0, extra=101, under=TRUE, 
    box.col=rev(c("#CCEBC5", "#FBB4AE"))[fit1$frame$yval], 
    border.col=rev(c("#CCEBC5", "#FBB4AE"))[fit1$frame$yval], round=0,
    split.box.col=0, split.border.col="black", nn.round=0.3, nn.border.col="black", nn.col="black",
    nn.lwd=1, eq=" = ", lt=" < ", ge=" >= ", branch.tweak=0.75, nn=FALSE)

Kuva näyttää seuraavalta:

Molempia puita tulkitaan samalla tavalla. Ensimmäisessä puukaavion haarautumiskohdassa tarkastellaan ensin henkilön sukupuolta. Jos henkilö on mies, hän ajautuu vasempaan haaraan, ja jos hän on nainen, oikeaan haaraan. Oikeassa haarassa suurin osa (339) henkilöistä on selvinnyt, ja siksi haara on alemmassa kuvassa merkitty ”survived”. Vihreän survived-laatikon alla on kolme lukua, joista ylemmät kertovat menehtyneiden ja selviytyneiden henkilöiden lukumäärät.