Feature Engineering i R
Jorge Zazueta
Research Professor and Head of the Modeling Group at the School of Economics, UASLP
Övervakad kodning använder utfallsvärden för att härleda numeriska särdrag från nominella prediktorer.
Övervakad kodning använder utfallsvärden för att härleda numeriska särdrag från nominella prediktorer.
Några övervakade kodningsfunktioner i embed-paketet
| Funktion | Definition |
|---|---|
| step_lencode_glm() | Använder sannolikhetskodning för att konvertera en nominell prediktor till en uppsättning poäng härledda från en generaliserad linjär modell. |
| step_lencode_bayes() | Tillämpar Bayesiansk sannolikhetskodning för att konvertera en nominell prediktor till en uppsättning poäng härledda från en generaliserad linjär modell skattad med Bayesiansk analys. |
| step_lencode_mixed() | Konverterar nominella prediktorer till en uppsättning poäng härledda från en generaliserad linjär blandad modell. |
Vi vill förutsäga om en ansökan beviljas, enbart baserat på sponsorkod.
lr_model <- logistic_reg() # declare model
lr_recipe_glm <- # Set recipe glm
recipe(class ~ sponsor_code,
data = grants_train) %>%
step_lencode_glm(sponsor_code,
# Declare outcome variable
outcome = vars(class))
lr_workflow_glm <- # Create Workflow
workflow() %>%
add_model(lr_model) %>%
add_recipe(lr_recipe_glm)
Sammanfattning av arbetsflödet
lr_workflow_glm
-- Workflow ------------------------------------
Preprocessor: Recipe
Model: logistic_reg()
-- Preprocessor --------------------------------
1 Recipe Step
- step_lencode_glm()
-- Model --------------------------------------
Logistic Regression Model Specification (classification)
Computational engine: glm
Vi tränar och utvärderar modellen
lr_fit_glm <- # Fit
lr_workflow_glm %>%
fit(grants_train)
lr_aug_glm <- # Augment
lr_fit_glm %>%
augment(grants_test)
glm_model <- lr_aug_glm %>% # Assess
class_evaluate(truth = class,
estimate = .pred_class,
.pred_successful)
Prestandaresultaten lagras i glm_model
glm_model
# A tibble: 2 × 3
.metric .estimator .estimate
<chr> <chr> <dbl>
1 accuracy binary 0.728
2 roc_auc binary 0.684
Vi bygger bayes_model och mixed_model för att jämföra prestanda för respektive steg.
# Define model names
model <- c("glm", "glm",
"bayes","bayes",
"mixed", "mixed")
# Bind models in a tibble
models <-
bind_rows(glm_model,
bayes_model,
mixed_model)%>%
add_column(model = model)%>%
select(-.estimator) %>%
spread(model,.estimate)
En praktisk prestandatabell
models
# A tibble: 2 × 4
.metric bayes glm mixed
<chr> <dbl> <dbl> <dbl>
1 accuracy 0.718 0.728 0.720
2 roc_auc 0.686 0.684 0.682
Visualisera resultaten i ett parallellkoordinatdiagram från Gally-paketet.
# Libraries
library(GGally)
# Parallel coordinates chart
ggparcoord(models,
columns = 2:4,
groupColumn = 1,
scale="globalminmax",
showPoints = TRUE)
Parallellkoordinatdiagram över accuracy och roc_auc för alla modeller.

Feature Engineering i R