Introducciendo Tidymodels
“¡¡Que emoción!!”
N = 10,000
propina
, con los niveles "si"
y "no"
¿Será ético, o hasta legal, utilizar esta variable?
¿La variable estará disponible al momento de predecir?
¿La variable contribuye a la explicación de los resultados?
Baja los datos, y cargarlos en tu sesión de R
taxi
#> # A tibble: 10,000 × 7
#> propina distancia compania local dia mes hora
#> <fct> <dbl> <fct> <fct> <fct> <fct> <int>
#> 1 si 17.2 Chicago Independents no Jue Feb 16
#> 2 si 0.88 City Service si Jue Mar 8
#> 3 si 18.1 otra no Lun Feb 18
#> 4 si 20.7 Chicago Independents no Lun Abr 8
#> 5 si 12.2 Chicago Independents no Dom Mar 21
#> 6 si 0.94 Sun Taxi si Sab Abr 23
#> 7 si 17.5 Flash Cab no Vie Mar 12
#> 8 si 17.7 otra no Dom Ene 6
#> 9 si 1.85 Taxicab Insurance Agency Llc no Vie Abr 12
#> 10 si 1.47 City Service no Mar Mar 14
#> # ℹ 9,990 more rows
Para el aprendizaje automatico, separamos los datos, unos para entranamiento, y los otros para la “prueba final”:
Los datos de entrenamiento se utilizan para estimar los parametros del modelo
Los datos de prueba se ponen aparte para medir la calidad del modelo
🚫 No utilize los datos de prueba durante el entrenamiento 🚫
¿Cuando deberiamos separar nuestros datos?
03:00
set.seed()
?Para el propósito de separar datos, R puede generar números “seudo-aleatorios”, que aunque parezcan comportarse como números aleatorios, en realidad se generan de una manera específica basada en una “semilla” (seed)
Si utilizamos la misma semilla nos permite reproducir los mismos resultados.
El número en sí que elijes realmente no importa. Lo que si importa, es que no experimentes con diferentes números de la semilla con el proposito de mejorar la calidad del modelo.
taxi_entrenar
#> # A tibble: 7,500 × 7
#> propina distancia compania local dia mes hora
#> <fct> <dbl> <fct> <fct> <fct> <fct> <int>
#> 1 si 0.7 Taxi Affiliation Services si Mar Mar 18
#> 2 si 0.99 Sun Taxi si Mar Ene 8
#> 3 si 1.78 otra no Sab Mar 22
#> 4 si 0 Taxi Affiliation Services si Mie Abr 15
#> 5 si 0 Taxi Affiliation Services no Dom Ene 21
#> 6 si 2.3 otra no Sab Abr 21
#> 7 si 6.35 Sun Taxi no Mie Mar 16
#> 8 si 2.79 otra no Dom Feb 14
#> 9 si 16.6 otra no Dom Abr 18
#> 10 si 0.02 Chicago Independents si Dom Abr 15
#> # ℹ 7,490 more rows
🙈
En el set de prueba, hay 2500 entradas, con 7 columnas
Separa tus datos, el 20% tiene que ser para prueba
Trata diferentes valores para set.seed()
para ver como cambian los resultados
05:00
Explora los datos en taxi_entrenar
por tí mismo
propina
?distancia
?propina
a través de las variables categóricas?08:00
Estratificar la muestra separará los datos dentro los valores de respuesta
Use strata = propina
Estratificar la muestra usualmente ayuda, y con pocas consecuencias