Tema 5: Árboles de decisión

library(rpart)
library(rpart.plot)
library(caret)
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.3.2
## Loading required package: lattice
#file.choose()
#datos <- read.csv("/Users/danielnajera/Documents/adult.data.csv")
datos <- read.csv("C:\\Users\\danbr\\OneDrive\\Desktop\\Mineria de Datos\\Actividad Constante - El Diario\\adult.data.csv")
head(datos, n=10)
##    age        workclass fnlwgt education education.num        marital.status
## 1   39        State-gov  77516 Bachelors            13         Never-married
## 2   50 Self-emp-not-inc  83311 Bachelors            13    Married-civ-spouse
## 3   38          Private 215646   HS-grad             9              Divorced
## 4   53          Private 234721      11th             7    Married-civ-spouse
## 5   28          Private 338409 Bachelors            13    Married-civ-spouse
## 6   37          Private 284582   Masters            14    Married-civ-spouse
## 7   49          Private 160187       9th             5 Married-spouse-absent
## 8   52 Self-emp-not-inc 209642   HS-grad             9    Married-civ-spouse
## 9   31          Private  45781   Masters            14         Never-married
## 10  42          Private 159449 Bachelors            13    Married-civ-spouse
##           occupation  relationship  race    sex capital.gain capital.loss
## 1       Adm-clerical Not-in-family White   Male         2174            0
## 2    Exec-managerial       Husband White   Male            0            0
## 3  Handlers-cleaners Not-in-family White   Male            0            0
## 4  Handlers-cleaners       Husband Black   Male            0            0
## 5     Prof-specialty          Wife Black Female            0            0
## 6    Exec-managerial          Wife White Female            0            0
## 7      Other-service Not-in-family Black Female            0            0
## 8    Exec-managerial       Husband White   Male            0            0
## 9     Prof-specialty Not-in-family White Female        14084            0
## 10   Exec-managerial       Husband White   Male         5178            0
##    hours.per.week native.country salary
## 1              40  United-States  <=50K
## 2              13  United-States  <=50K
## 3              40  United-States  <=50K
## 4              40  United-States  <=50K
## 5              40           Cuba  <=50K
## 6              40  United-States  <=50K
## 7              16        Jamaica  <=50K
## 8              45  United-States   >50K
## 9              50  United-States   >50K
## 10             40  United-States   >50K
tree_model <- rpart(salary ~ ., data = datos, method = "class")
tree_model
## n= 32561 
## 
## node), split, n, loss, yval, (yprob)
##       * denotes terminal node
## 
##  1) root 32561 7841 <=50K (0.75919044 0.24080956)  
##    2) relationship=Not-in-family,Other-relative,Own-child,Unmarried 17800 1178 <=50K (0.93382022 0.06617978)  
##      4) capital.gain< 7073.5 17482  872 <=50K (0.95012012 0.04987988) *
##      5) capital.gain>=7073.5 318   12 >50K (0.03773585 0.96226415) *
##    3) relationship=Husband,Wife 14761 6663 <=50K (0.54860782 0.45139218)  
##      6) education=10th,11th,12th,1st-4th,5th-6th,7th-8th,9th,Assoc-acdm,Assoc-voc,HS-grad,Preschool,Some-college 10329 3456 <=50K (0.66540807 0.33459193)  
##       12) capital.gain< 5095.5 9807 2944 <=50K (0.69980626 0.30019374) *
##       13) capital.gain>=5095.5 522   10 >50K (0.01915709 0.98084291) *
##      7) education=Bachelors,Doctorate,Masters,Prof-school 4432 1225 >50K (0.27639892 0.72360108) *
rpart.plot(tree_model)

El árbol comienza con una sola variable, la relación de la persona. A partir de ahí, el árbol se ramifica en función de los valores de otras variables. En este caso, el árbol comienza con la variable “relación”. Las personas que no tienen familia, que son parientes lejanos, que son hijos propios o que no están casadas pero tienen hijos se clasifican en un grupo. el árbol se ramifica en función de la variable “educación”. Las personas con educación primaria, secundaria o universitaria se clasifican en un grupo. Las personas con educación postsecundaria se clasifican en otro grupo. También, el árbol se ramifica en función de la variable “ganancia de capital”. Las personas con una ganancia de capital inferior a 7.074 dólares se clasifican en un grupo. Las personas con una ganancia de capital superior o igual a 7.074 dólares se clasifican en otro grupo. También, el árbol de decisión muestra que las personas con una relación no familiar, una educación universitaria y una ganancia de capital inferior a 7.074 dólares tienen más probabilidades de tener ingresos inferiores a 50.000 dólares.