Árbol de Decisión: Titanic

Importar base de datos

#file.choose()
base_de_datos <- read.csv("/Users/ErickaMtz/Downloads/titanic_EM.csv")

Entender base de datos

summary(base_de_datos)
##      pclass         survived         name               sex           
##  Min.   :1.000   Min.   :0.000   Length:1310        Length:1310       
##  1st Qu.:2.000   1st Qu.:0.000   Class :character   Class :character  
##  Median :3.000   Median :0.000   Mode  :character   Mode  :character  
##  Mean   :2.295   Mean   :0.382                                        
##  3rd Qu.:3.000   3rd Qu.:1.000                                        
##  Max.   :3.000   Max.   :1.000                                        
##  NA's   :1       NA's   :1                                            
##       age              sibsp            parch          ticket         
##  Min.   : 0.1667   Min.   :0.0000   Min.   :0.000   Length:1310       
##  1st Qu.:21.0000   1st Qu.:0.0000   1st Qu.:0.000   Class :character  
##  Median :28.0000   Median :0.0000   Median :0.000   Mode  :character  
##  Mean   :29.8811   Mean   :0.4989   Mean   :0.385                     
##  3rd Qu.:39.0000   3rd Qu.:1.0000   3rd Qu.:0.000                     
##  Max.   :80.0000   Max.   :8.0000   Max.   :9.000                     
##  NA's   :264       NA's   :1        NA's   :1                         
##       fare            cabin             embarked             boat          
##  Min.   :  0.000   Length:1310        Length:1310        Length:1310       
##  1st Qu.:  7.896   Class :character   Class :character   Class :character  
##  Median : 14.454   Mode  :character   Mode  :character   Mode  :character  
##  Mean   : 33.295                                                           
##  3rd Qu.: 31.275                                                           
##  Max.   :512.329                                                           
##  NA's   :2                                                                 
##       body        home.dest        
##  Min.   :  1.0   Length:1310       
##  1st Qu.: 72.0   Class :character  
##  Median :155.0   Mode  :character  
##  Mean   :160.8                     
##  3rd Qu.:256.0                     
##  Max.   :328.0                     
##  NA's   :1189

Filtrar base de datos

Titanic <- base_de_datos[,c("pclass", "age", "sex", "survived")]

Titanic$survived <- as.factor(ifelse(Titanic$survived==0, "Murio", "sobrevivio"))
Titanic$pclass <- as.factor(Titanic$pclass)
Titanic$sex <- as.factor(Titanic$sex)
str(Titanic)
## 'data.frame':    1310 obs. of  4 variables:
##  $ pclass  : Factor w/ 3 levels "1","2","3": 1 1 1 1 1 1 1 1 1 1 ...
##  $ age     : num  29 0.917 2 30 25 ...
##  $ sex     : Factor w/ 3 levels "","female","male": 2 3 2 3 2 3 2 3 2 3 ...
##  $ survived: Factor w/ 2 levels "Murio","sobrevivio": 2 2 1 1 1 2 2 1 2 1 ...
sum(is.na(Titanic))
## [1] 266
Titanic <- na.omit(Titanic)

Paquetes Instalados

library(rpart)
install.packages(“rpart.plot”)
library(rpart.plot)

Crear árbol de decisión

library(rpart)
arbol <- rpart(formula = survived ~ ., data = Titanic)
arbol
## n= 1046 
## 
## node), split, n, loss, yval, (yprob)
##       * denotes terminal node
## 
##  1) root 1046 427 Murio (0.59177820 0.40822180)  
##    2) sex=male 658 135 Murio (0.79483283 0.20516717)  
##      4) age>=9.5 615 110 Murio (0.82113821 0.17886179) *
##      5) age< 9.5 43  18 sobrevivio (0.41860465 0.58139535)  
##       10) pclass=3 29  11 Murio (0.62068966 0.37931034) *
##       11) pclass=1,2 14   0 sobrevivio (0.00000000 1.00000000) *
##    3) sex=female 388  96 sobrevivio (0.24742268 0.75257732)  
##      6) pclass=3 152  72 Murio (0.52631579 0.47368421)  
##       12) age>=1.5 145  66 Murio (0.54482759 0.45517241) *
##       13) age< 1.5 7   1 sobrevivio (0.14285714 0.85714286) *
##      7) pclass=1,2 236  16 sobrevivio (0.06779661 0.93220339) *
#install.packages("rpart.plot")
library(rpart.plot)

rpart.plot(arbol)

prp(arbol, extra = 7, prefix = "fraccion\n")

Conclusiones

Existen distintas variables que fueron analizadas para poder identificar qué tan probable era que una persona dentro del Titanic sobreviviera. Las personas con mayor probabilidad de sobrevivir según nuestro árbol de decisión son las mujeres y niños de 9 años de edad o menores que se encontraban en primera y segunda clase. Las personas en tercera clase son los que tenían un menor porcentaje de probabilidad de sobrevivir. Siendo más específicos, con el hecho de ser mujer ya se contaba con un 75% de probabilidad de sobrevivir, ese porcentaje incluso aumentaba a un 93% si eran mujeres de primer y segunda clase. En el caso de ser hombre, solamente los que tenían 9 años y medio o menos contaban con un 58% de probabilidad de sobrevivir y si eran de primera o segunda clase contaban con un 100% de probabilidad de supervivencia.

LS0tCnRpdGxlOiAiw4FyYm9sIGRlIERlY2lzacOzbjogVGl0YW5pYyIKYXV0aG9yOiAiRXJpY2thIE1hcnTDrW5leiAtIEEwMTE3NzAxNyIKZGF0ZTogIjIwMjItMDktMDYiCm91dHB1dDogCiAgaHRtbF9kb2N1bWVudDoKICAgIHRvYzogdHJ1ZQogICAgdG9jX2Zsb2F0OiB0cnVlCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlCi0tLQojIyA8aW1nIHNyYz0gIi9Vc2Vycy9Fcmlja2FNdHovRGVza3RvcC8yMDM1NDg4MS5qcGVnIj4KCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogIzUzODY4QiIgPiAqKsOBcmJvbCBkZSBEZWNpc2nDs246IFRpdGFuaWMqKiA8L3NwYW4+CgojIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiAjN0FDNUNEIiA+IEltcG9ydGFyIGJhc2UgZGUgZGF0b3MgPC9zcGFuPgpgYGB7cn0KI2ZpbGUuY2hvb3NlKCkKYmFzZV9kZV9kYXRvcyA8LSByZWFkLmNzdigiL1VzZXJzL0VyaWNrYU10ei9Eb3dubG9hZHMvdGl0YW5pY19FTS5jc3YiKQpgYGAKCiMjIyA8c3BhbiBzdHlsZT0iY29sb3I6ICM3QUM1Q0QiID4gRW50ZW5kZXIgYmFzZSBkZSBkYXRvcyA8L3NwYW4+CmBgYHtyfQpzdW1tYXJ5KGJhc2VfZGVfZGF0b3MpCmBgYAoKIyMjIDxzcGFuIHN0eWxlPSJjb2xvcjogIzdBQzVDRCIgPiBGaWx0cmFyIGJhc2UgZGUgZGF0b3MgPC9zcGFuPgpgYGB7cn0KVGl0YW5pYyA8LSBiYXNlX2RlX2RhdG9zWyxjKCJwY2xhc3MiLCAiYWdlIiwgInNleCIsICJzdXJ2aXZlZCIpXQoKVGl0YW5pYyRzdXJ2aXZlZCA8LSBhcy5mYWN0b3IoaWZlbHNlKFRpdGFuaWMkc3Vydml2ZWQ9PTAsICJNdXJpbyIsICJzb2JyZXZpdmlvIikpClRpdGFuaWMkcGNsYXNzIDwtIGFzLmZhY3RvcihUaXRhbmljJHBjbGFzcykKVGl0YW5pYyRzZXggPC0gYXMuZmFjdG9yKFRpdGFuaWMkc2V4KQpzdHIoVGl0YW5pYykKCnN1bShpcy5uYShUaXRhbmljKSkKVGl0YW5pYyA8LSBuYS5vbWl0KFRpdGFuaWMpCmBgYAoKIyMjIDxzcGFuIHN0eWxlPSJjb2xvcjogIzdBQzVDRCIgPiBQYXF1ZXRlcyBJbnN0YWxhZG9zIDwvc3Bhbj4KbGlicmFyeShycGFydCkgIAppbnN0YWxsLnBhY2thZ2VzKCJycGFydC5wbG90IikgIApsaWJyYXJ5KHJwYXJ0LnBsb3QpICAKCiMjIyA8c3BhbiBzdHlsZT0iY29sb3I6ICM3QUM1Q0QiID4gQ3JlYXIgw6FyYm9sIGRlIGRlY2lzacOzbiA8L3NwYW4+CmBgYHtyfQpsaWJyYXJ5KHJwYXJ0KQphcmJvbCA8LSBycGFydChmb3JtdWxhID0gc3Vydml2ZWQgfiAuLCBkYXRhID0gVGl0YW5pYykKYXJib2wKCiNpbnN0YWxsLnBhY2thZ2VzKCJycGFydC5wbG90IikKbGlicmFyeShycGFydC5wbG90KQoKcnBhcnQucGxvdChhcmJvbCkKCnBycChhcmJvbCwgZXh0cmEgPSA3LCBwcmVmaXggPSAiZnJhY2Npb25cbiIpCmBgYAoKIyMjIDxzcGFuIHN0eWxlPSJjb2xvcjogIzdBQzVDRCIgPiBDb25jbHVzaW9uZXMgPC9zcGFuPgo8cCBzdHlsZT0ndGV4dC1hbGlnbjpqdXN0aWZ5Oyc+ICoqRXhpc3RlbiBkaXN0aW50YXMgdmFyaWFibGVzIHF1ZSBmdWVyb24gYW5hbGl6YWRhcyBwYXJhIHBvZGVyIGlkZW50aWZpY2FyIHF1w6kgdGFuIHByb2JhYmxlIGVyYSBxdWUgdW5hIHBlcnNvbmEgZGVudHJvIGRlbCBUaXRhbmljIHNvYnJldml2aWVyYS4gTGFzIHBlcnNvbmFzIGNvbiBtYXlvciBwcm9iYWJpbGlkYWQgZGUgc29icmV2aXZpciBzZWfDum4gbnVlc3RybyDDoXJib2wgZGUgZGVjaXNpw7NuIHNvbiBsYXMgbXVqZXJlcyB5IG5pw7FvcyBkZSA5IGHDsW9zIGRlIGVkYWQgbyBtZW5vcmVzIHF1ZSBzZSBlbmNvbnRyYWJhbiBlbiBwcmltZXJhIHkgc2VndW5kYSBjbGFzZS4gTGFzIHBlcnNvbmFzIGVuIHRlcmNlcmEgY2xhc2Ugc29uIGxvcyBxdWUgdGVuw61hbiB1biBtZW5vciBwb3JjZW50YWplIGRlIHByb2JhYmlsaWRhZCBkZSBzb2JyZXZpdmlyLiBTaWVuZG8gbcOhcyBlc3BlY8OtZmljb3MsIGNvbiBlbCBoZWNobyBkZSBzZXIgbXVqZXIgeWEgc2UgY29udGFiYSBjb24gdW4gNzUlIGRlIHByb2JhYmlsaWRhZCBkZSBzb2JyZXZpdmlyLCBlc2UgcG9yY2VudGFqZSBpbmNsdXNvIGF1bWVudGFiYSBhIHVuIDkzJSBzaSBlcmFuIG11amVyZXMgZGUgcHJpbWVyIHkgc2VndW5kYSBjbGFzZS4gRW4gZWwgY2FzbyBkZSBzZXIgaG9tYnJlLCBzb2xhbWVudGUgbG9zIHF1ZSB0ZW7DrWFuIDkgYcOxb3MgeSBtZWRpbyBvIG1lbm9zIGNvbnRhYmFuIGNvbiB1biA1OCUgZGUgcHJvYmFiaWxpZGFkIGRlIHNvYnJldml2aXIgeSBzaSBlcmFuIGRlIHByaW1lcmEgbyBzZWd1bmRhIGNsYXNlIGNvbnRhYmFuIGNvbiB1biAxMDAlIGRlIHByb2JhYmlsaWRhZCBkZSBzdXBlcnZpdmVuY2lhLioqICA8L3A+Cgo=