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
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.
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. |
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
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
Chúng ta xây dựng bayes_model và mixed_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
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.

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