Denetimli öğrenmeyle kategorik veriyi kodlama

R'da Feature Engineering

Jorge Zazueta

Research Professor and Head of the Modeling Group at the School of Economics, UASLP

Denetimli kodlamaya giriş

Buna karşılık, denetimli kodlama, sonuç değerlerini kullanarak nominal yordayıcılardan sayısal özellikler türetir.

R'da Feature Engineering

Denetimli kodlamaya giriş

Denetimli kodlama, sonuç değerlerini kullanarak nominal yordayıcılardan sayısal özellikler türetir.

embed paketindeki bazı denetimli kodlama işlevleri

Function Definition
step_lencode_glm() Olasılık kodlamalarını kullanarak nominal bir yordayıcıyı, genelleştirilmiş doğrusal modelden türetilen tek bir puan kümesine dönüştürür.
step_lencode_bayes() Bayesyen analizle kestirilen bir genelleştirilmiş doğrusal modelden türetilen tek bir puan kümesine dönüştürmek için Bayesyen olasılık kodlamaları uygular.
step_lencode_mixed() Nominal yordayıcıları, genelleştirilmiş doğrusal karma modelden türetilen tek bir puan kümesine dönüştürür.
R'da Feature Engineering

Hibe başvurusu başarısını tahmin etme

Yalnızca sponsor koduna dayalı olarak hibe başvurusu başarısını tahmin etmek istiyoruz.

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)

İş akışı özeti

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
R'da Feature Engineering

Uydurma, zenginleştirme ve değerlendirme

Modelimizi uydurur ve değerlendiririz

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)

Performans sonuçları glm_model içinde saklanır

DNT_CURLY_TAG_3

glm_model


# A tibble: 2 × 3 .metric .estimator .estimate <chr> <chr> <dbl> 1 accuracy binary 0.728 2 roc_auc binary 0.684
R'da Feature Engineering

Modelleri birleştirme

İlgili adımların performansını karşılaştırmak için bayes_model ve mixed_model oluşturuyoruz.

# 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)

Kullanışlı bir performans tablosu

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
R'da Feature Engineering

Sonuçları görselleştirme

Sonuçları Gally paketindeki paralel koordinatlar grafiğiyle görselleştirin.

# Libraries
library(GGally)

# Parallel coordinates chart
ggparcoord(models,
           columns = 2:4, 
           groupColumn = 1,
           scale="globalminmax",
           showPoints = TRUE)

Tüm modeller için accuracy ve roc_auc paralel koordinatlar grafiği.

Tüm modeller için accuracy ve roc_auc paralel koordinatlar grafiği.

R'da Feature Engineering

Hadi pratik yapalım!

R'da Feature Engineering

Preparing Video For Download...