Modellazione con tidymodels in R
David Svancer
Data Scientist

Definisci i ruoli delle colonne
Determina i tipi di variabile
Si fa con la funzione recipe()

Aggiungi i passaggi di preprocessing necessari
Ogni passaggio si aggiunge con una funzione step_*() dedicata

Gli oggetti recipe vengono addestrati su una sorgente dati, di solito il training set
Le ricette si addestrano con la funzione prep()

Applica tutte le trasformazioni di preprocessing addestrate
Si applicano le ricette con la funzione bake()

Trasforma con log total_time nei dati di lead scoring
leads_training
# A tibble: 996 x 7
purchased total_visits total_time pages_per_visit total_clicks lead_source us_location
<fct> <dbl> <dbl> <dbl> <dbl> <fct> <fct>
1 yes 7 1148 7 59 direct_traffic west
2 no 5 228 2.5 25 email southeast
3 no 7 481 2.33 21 organic_search west
4 no 4 177 4 37 direct_traffic west
5 no 2 1273 2 26 email midwest
# ... with 991 more rows
La funzione recipe()
data
Passa l’oggetto recipe a step_log() per aggiungere il passaggio di logaritmo
total_time e specifica la base del logleads_log_rec <- recipe(purchased ~ ., data = leads_training) %>%step_log(total_time, base = 10)
leads_log_rec
Data Recipe
Inputs:
role #variables
outcome 1
predictor 6
Operations:
Log transformation on total_time
Passare un oggetto recipe alla funzione summary()
typeroleleads_log_rec %>%
summary()
# A tibble: 7 x 4
variable type role source
<chr> <chr> <chr> <chr>
1 total_visits numeric predictor original
2 total_time numeric predictor original
3 pages_per_visit numeric predictor original
4 total_clicks numeric predictor original
5 lead_source nominal predictor original
6 us_location nominal predictor original
7 purchased nominal outcome original
La funzione prep()
recipe come primo argomentotraining
Stampare una recipe addestrata
[trained]leads_log_rec_prep <- leads_log_rec %>%
prep(training = leads_training)
leads_log_rec_prep
Data Recipe
Inputs:
role #variables
outcome 1
predictor 6
Training data contained 996 data points and
no missing data.
Operations:
Log transformation on total_time [trained]
La funzione bake()
recipe addestratanew_datarecipe addestrataleads_training è stato usato per addestrare la recipeprep()NULL a new_data per estrarlileads_log_rec_prep %>%
bake(new_data = NULL)
# A tibble: 996 x 7
total_visits total_time ... us_location purchased
<dbl> <dbl> ... <fct> <fct>
1 7 3.06 ... west yes
2 5 2.36 ... southeast no
3 7 2.68 ... west no
4 4 2.25 ... west no
5 2 3.10 ... midwest no
# ... with 991 more rows
Trasformare dataset non usati durante l’addestramento della recipe
new_datarecipe addestrata applicherà tutti i passaggi ai nuovi datileads_log_rec_prep %>%
bake(new_data = leads_test)
# A tibble: 332 x 7
total_visits total_time ... us_location purchased
<dbl> <dbl> ... <fct> <fct>
1 8 2 ... west no
2 4 3.13 ... northeast yes
3 3 2.25 ... west no
4 2 1.20 ... midwest no
5 9 3.01 ... west yes
# ... with 327 more rows
Modellazione con tidymodels in R