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:
regionmas_500aglomeradoch03: 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?