Cách phát triển cây của bạn

Machine Learning với Mô hình Dựa trên Cây trong R

Sandro Raabe

Data Scientist

Bộ dữ liệu tiểu đường

head(diabetes)
# A tibble: 6 x 9
  outcome pregnancies glucose blood_pressure skin_thickness insulin   bmi    age
  <fct>         <int>   <int>          <int>          <int>   <int> <dbl>  <int>
1 yes               6     148             72             35       0  33.6     50
2 no                1      85             66             29       0  26.6     31
3 yes               8     183             64              0       0  23.3     32
Machine Learning với Mô hình Dựa trên Cây trong R

Dùng toàn bộ bộ dữ liệu

  • Dùng toàn bộ dữ liệu để huấn luyện - không còn dữ liệu để kiểm tra mô hình

luồng_mô_hình_1

Machine Learning với Mô hình Dựa trên Cây trong R

Chia dữ liệu

chia_dữ_liệu

mô hình và đánh giá

Machine Learning với Mô hình Dựa trên Cây trong R

Phương pháp chia

phương pháp chia

phương_pháp_chia_2

phương_pháp_chia_3

Machine Learning với Mô hình Dựa trên Cây trong R

Hàm initial_split()

  • Chia ngẫu nhiên thành một tập huấn luyện và một tập kiểm tra
# Chia dữ liệu theo tỷ lệ (mặc định: 0.75)
diabetes_split <- initial_split(diabetes, prop = 0.9)
diabetes_split
<Analysis/Assess/Total>
<692/76/768>
1 từ gói rsample
Machine Learning với Mô hình Dựa trên Cây trong R

Hàm training() và testing()

  • Trích xuất tập huấn luyện và kiểm tra từ một phép chia dữ liệu
diabetes_train <- training(diabetes_split)

diabetes_test <- testing(diabetes_split)
  • Kiểm tra:
    nrow(diabetes_train)/nrow(diabetes)
    
[1] 0.9007812
1 từ rsample
Machine Learning với Mô hình Dựa trên Cây trong R

Tránh mất cân bằng lớp

# Số lượng 'yes' và 'no' trong huấn luyện
counts_train <- table(diabetes_train$outcome)
counts_train
 no yes 
490 86
# Tỷ lệ 'yes' trong huấn luyện
prop_yes_train <- counts_train["yes"]/
                  sum(counts_train)
prop_yes_train
0.15
# Số lượng 'yes' và 'no' trong kiểm tra
counts_test <- table(diabetes_test$outcome)
counts_test
 no yes 
 28  48
# Tỷ lệ 'yes' trong kiểm tra
prop_yes_test <- counts_test["yes"]/
                  sum(counts_test)
prop_yes_test
0.63
Machine Learning với Mô hình Dựa trên Cây trong R

Giải pháp - ép phân phối tương tự

initial_split(diabetes, 
              prop = 0.9, 
              strata = outcome)
  • Bảo đảm chia ngẫu nhiên với phân phối outcome tương tự
Machine Learning với Mô hình Dựa trên Cây trong R

Hãy chia tập!

Machine Learning với Mô hình Dựa trên Cây trong R

Preparing Video For Download...