La idea de esta práctica independiente es que utilicen las
herramientas aprendidas para desarrollar un árbol de
decisión en R con tidymodels
.
Vamos a trabajar con datos del segundo trimestre de la EPH en 2015.
Está guardada en la carpeta data
con el nombre
eph15.RDS
. Como verán, el formato de los datos es
diferente. Por lo cual, pueden cargarlos de la siguiente manera:
library(tidymodels)
## ── Attaching packages ────────────────────────────────────── tidymodels 1.3.0 ──
## ✔ broom 1.0.8 ✔ recipes 1.3.0
## ✔ dials 1.4.0 ✔ rsample 1.3.0
## ✔ dplyr 1.1.4 ✔ tibble 3.2.1
## ✔ ggplot2 3.5.2 ✔ tidyr 1.3.1
## ✔ infer 1.0.8 ✔ tune 1.3.0
## ✔ modeldata 1.4.0 ✔ workflows 1.2.0
## ✔ parsnip 1.3.1 ✔ workflowsets 1.1.0
## ✔ purrr 1.0.4 ✔ yardstick 1.3.2
## ── Conflicts ───────────────────────────────────────── tidymodels_conflicts() ──
## ✖ purrr::discard() masks scales::discard()
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ✖ recipes::step() masks stats::step()
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats 1.0.0 ✔ readr 2.1.5
## ✔ lubridate 1.9.4 ✔ stringr 1.5.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ readr::col_factor() masks scales::col_factor()
## ✖ purrr::discard() masks scales::discard()
## ✖ dplyr::filter() masks stats::filter()
## ✖ stringr::fixed() masks recipes::fixed()
## ✖ dplyr::lag() masks stats::lag()
## ✖ readr::spec() masks yardstick::spec()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
load('./data/EPH_2015_II.RData')
data <- data %>%
filter(imp_inglab1 != 1) # eliminamos los casos con no respuesta en ingresos.
La idea es estimar un modelo que pueda predecir los ingresos, es decir, vamos a entrenar un árbol de regresión. La base tiene las siguientes variables:
region
mas_500
aglomerado
ch03
: relación de parentesco con el jefe de hogarch04
: sexoch06
: edadch07
: estado conyugalch08
: cobertura médicach09
: sabe leer y escribirch15
: lugar de nacimientoch16
: lugar dónde vivía hace 5 añosnivel_ed
: nivel educativocat_ocup
: categoría ocupacionalpp03d
: cantidad de ocupacionespp03i
: buscó trabajar más horas?intensi
: intensidad de la ocupaciónpp07a
: antiguedad en el empleo de forma continuap21
: monto de ingreso total de la ocupación
principalt_vi
: monto de ingreso no laboral percibido en el
mesimp_inglab1
: responde ingresos o nocarac
: carácter de la ocupacióncalif
: calificación de la ocupaciónrama_ag
: rama de actvidad agregadatam
: tamaño del establecimiento en que trabajahtot
: horas totales trabajadassubs
: su hogar percibe algún tipo de subsidioaportes
: percibe aportes en la ocupación principalAhora, entramos a la parte de construcción del workflow de modelado. Recordemos que hay que:
¿Cómo funcionó este modelo en el test set?