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.