Mã hóa biến phân loại bằng học có giám sát

Kỹ thuật đặc trưng (Feature Engineering) với R

Jorge Zazueta

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

Giới thiệu mã hóa có giám sát

Ngược lại, mã hóa có giám sát dùng biến đầu ra để tạo đặc trưng số từ biến danh nghĩa.

Kỹ thuật đặc trưng (Feature Engineering) với R

Giới thiệu mã hóa có giám sát

Mã hóa có giám sát dùng biến đầu ra để tạo đặc trưng số từ biến danh nghĩa.

Một số hàm mã hóa có giám sát trong gói embed

Function Definition
step_lencode_glm() Dùng likelihood encoding để chuyển một biến danh nghĩa thành một tập điểm số từ mô hình tuyến tính tổng quát.
step_lencode_bayes() Áp dụng likelihood encoding Bayes để chuyển một biến danh nghĩa thành một tập điểm số từ mô hình tuyến tính tổng quát ước lượng bằng phân tích Bayes.
step_lencode_mixed() Chuyển các biến danh nghĩa thành một tập điểm số từ mô hình hỗn hợp tuyến tính tổng quát.
Kỹ thuật đặc trưng (Feature Engineering) với R

Dự đoán thành công hồ sơ tài trợ

Ta muốn dự đoán thành công hồ sơ tài trợ chỉ từ mã nhà tài trợ.

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)

Tóm tắt workflow

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
Kỹ thuật đặc trưng (Feature Engineering) với R

Huấn luyện, bổ sung và đánh giá

Huấn luyện và đánh giá mô hình

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)

Kết quả hiệu suất được lưu trong 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
Kỹ thuật đặc trưng (Feature Engineering) với R

Gộp các mô hình

Chúng ta xây dựng bayes_modelmixed_model để so sánh hiệu suất của các bước tương ứng.

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

Bảng hiệu suất tiện lợi

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
Kỹ thuật đặc trưng (Feature Engineering) với R

Trực quan hóa kết quả

Trực quan hóa kết quả bằng biểu đồ tọa độ song song từ gói Gally.

# Libraries
library(GGally)

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

Biểu đồ tọa độ song song của accuracy và roc_auc so sánh tất cả mô hình.

Biểu đồ tọa độ song song của accuracy và roc_auc so sánh tất cả mô hình.

Kỹ thuật đặc trưng (Feature Engineering) với R

Ayo berlatih!

Kỹ thuật đặc trưng (Feature Engineering) với R

Preparing Video For Download...