Điều chỉnh siêu tham số với caret

Tinh chỉnh siêu tham số trong R

Dr. Shirin Elsinghorst

Senior Data Scientist

Điều chỉnh siêu tham số tự động trong caret

Rừng ngẫu nhiên 

...

Kết quả lấy mẫu lại theo siêu tham số:

  mtry  Accuracy   Kappa    
   2    0.9006783  0.8015924
   6    0.9126645  0.8253289
  10    0.8999389  0.7999386

Accuracy được dùng để chọn mô hình tối ưu theo giá trị lớn nhất.
Giá trị cuối cùng dùng cho mô hình là mtry = 6.
Tinh chỉnh siêu tham số trong R

Siêu tham số phụ thuộc vào thuật toán mô hình

Tinh chỉnh siêu tham số trong R

Siêu tham số trong Máy Vectơ Hỗ trợ (SVM)

fitControl <- trainControl(method = "repeatedcv", number = 3, repeats = 5)

tic()
svm_model <- train(diagnosis ~ ., 
                   data = bc_train_data, 
                   method = "svmPoly", 
                   trControl = fitControl,
                   verbose= FALSE)
toc()
3.836 giây đã trôi qua
Tinh chỉnh siêu tham số trong R

Siêu tham số trong Máy Vectơ Hỗ trợ (SVM)

svm_model
Máy Vectơ Hỗ trợ với kernel đa thức 
... 

Kết quả lấy mẫu lại theo siêu tham số:

  degree  scale  C     Accuracy   Kappa    
  1       0.100  1.00  0.9104803  0.8211459

Accuracy được dùng để chọn mô hình tối ưu theo giá trị lớn nhất.
Giá trị cuối cùng cho mô hình là degree = 1, scale = 0.1 và C = 1.
Tinh chỉnh siêu tham số trong R

Định nghĩa siêu tham số cho điều chỉnh tự động

  • tuneLength
tic()
set.seed(42)
svm_model_2 <- train(diagnosis ~ ., 
                     data = bc_train_data, 
                     method = "svmPoly", 
                     trControl = fitControl,
                     verbose = FALSE,
                     tuneLength = 5)
toc()
7.458 giây đã trôi qua

Accuracy được dùng để chọn mô hình tối ưu theo giá trị lớn nhất.
Giá trị cuối cùng cho mô hình là degree = 1, scale = 1 và C = 1.
Tinh chỉnh siêu tham số trong R

Điều chỉnh siêu tham số thủ công trong caret

  • tuneGrid + expand.grid
hyperparams <- expand.grid(degree = 4, scale = 1, C = 1)

tic() set.seed(42) svm_model_3 <- train(diagnosis ~ ., data = bc_train_data, method = "svmPoly", trControl = fitControl, tuneGrid = hyperparams, verbose = FALSE) toc()
0.691 giây đã trôi qua
Tinh chỉnh siêu tham số trong R

Điều chỉnh siêu tham số thủ công trong caret

svm_model_3
Máy Vectơ Hỗ trợ với kernel đa thức 

...

  Accuracy   Kappa   
  0.7772947  0.554812

Siêu tham số 'degree' được giữ cố định ở 4
Siêu tham số 'scale' được giữ cố định ở 1
Siêu tham số 'C' được giữ cố định ở 1
Tinh chỉnh siêu tham số trong R

Đến lượt bạn!

Tinh chỉnh siêu tham số trong R

Preparing Video For Download...