Biến dự báo danh nghĩa

Mô hình hóa với tidymodels trong R

David Svancer

Data Scientist

Dữ liệu danh nghĩa

Dữ liệu mã hóa đặc điểm hoặc nhóm

  • Không có thứ tự ý nghĩa

Ví dụ

  • Phòng ban trong công ty

    • Marketing, Tài chính, Công nghệ
  • Ngôn ngữ mẹ đẻ

    • Tiếng Anh, Séc, Tây Ban Nha ...
  • Loại xe

    • SUV, sedan, compact ...
Mô hình hóa với tidymodels trong R

Biến đổi biến dự báo danh nghĩa

Dữ liệu danh nghĩa phải được chuyển thành số để mô hình hóa

Mã hóa One-Hot

  • Ánh xạ giá trị phân loại thành các biến chỉ báo [0/1]
  • Biến chỉ báo cho mỗi giá trị duy nhất trong dữ liệu gốc

 

one_hot_encoding

Mô hình hóa với tidymodels trong R

Biến đổi biến dự báo danh nghĩa

Mã hóa biến giả (Dummy)

  • Loại trừ một giá trị khỏi tập giá trị gốc
    • n giá trị phân biệt tạo ra ( n - 1 ) biến chỉ báo
  • Ưu tiên cho mô hình hóa
    • Mặc định trong gói recipes

 

dummy_encoding

Mô hình hóa với tidymodels trong R

Dữ liệu chấm điểm lead

Biến dự báo danh nghĩa - lead_sourceus_location

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
Mô hình hóa với tidymodels trong R

Tạo biến giả (dummy)

Hàm step_dummy()

  • Tạo biến giả từ các biến dự báo danh nghĩa
recipe(purchased ~ ., data = leads_training) %>%

step_dummy(lead_source, us_location) %>%
prep(training = leads_training) %>%
bake(new_data = leads_test)
# A tibble: 332 x 12
   total_visits ... lead_source_email  lead_source_organic_search  lead_source_direct_traffic  us_location_southeast ... us_location_west
       <dbl>    ...      <dbl>                 <dbl>                      <dbl>                       <dbl>                     <dbl>
1        8      ...         0                    0                          1                          0                        1
2        4      ...         0                    0                          1                          0                        0
3        3      ...         0                    1                          0                          0                        1
4        2      ...         1                    0                          0                          0                        0
5        9      ...         0                    0                          1                          0                        1

# ... with 327 more rows
Mô hình hóa với tidymodels trong R

Chọn cột theo kiểu dữ liệu

Chọn theo kiểu cột bằng bộ chọn all_nominal()all_outcomes()

  • -all_outcomes() loại biến kết quả danh nghĩa, purchased
recipe(purchased ~ ., data = leads_training) %>%

step_dummy(all_nominal(), -all_outcomes()) %>%
prep(training = leads_training) %>%
bake(new_data = leads_test)
# A tibble: 332 x 12
   total_visits ... lead_source_email  lead_source_organic_search  lead_source_direct_traffic ... us_location_west
       <dbl>    ...      <dbl>                 <dbl>                      <dbl>                           <dbl>
1        8      ...         0                    0                          1                                 1
2        4      ...         0                    0                          1                                 0
3        3      ...         0                    1                          0                                 1
4        2      ...         1                    0                          0                                 0
5        9      ...         0                    0                          1                                 1
# ... with 327 more rows
Mô hình hóa với tidymodels trong R

Tiền xử lý biến dự báo danh nghĩa

Engine mô hình trong R

  • Nhiều engine tự động tạo biến giả
    • Có thể dùng biến danh nghĩa mà không cần tiền xử lý với step_dummy()
  • Không nhất quán giữa các engine
    • One-hot vs biến giả
    • Cách đặt tên biến mới

 

Gói recipes cung cấp cách chuẩn hóa để chuẩn bị biến danh nghĩa cho mô hình

Mô hình hóa với tidymodels trong R

Ayo berlatih!

Mô hình hóa với tidymodels trong R

Preparing Video For Download...