Bắt đầu ngayBắt đầu miễn phí

Sử dụng `tune.svm()`

Bài tập này giúp bạn thực hành trực tiếp với hàm tune.svm(). Bạn sẽ dùng hàm này để tìm các giá trị tối ưu cho các tham số cost, gamma, và coef0 của mô hình SVM dựa trên bộ dữ liệu tách biệt theo hướng xuyên tâm mà bạn đã tạo ở đầu chương. Dữ liệu huấn luyện có trong dataframe trainset, dữ liệu kiểm tra trong testset, và thư viện e1071 đã được nạp sẵn. Lưu ý biến lớp y nằm ở cột thứ ba của cả trainsettestset.

Ngoài ra, nhớ rằng trong video, Kailash đã dùng cost=10^(1:3) để lấy miền giá trị của tham số cost từ 10=10^1 đến 1000=10^3 theo bội số của 10.

Bài tập này là một phần của khóa học

Support Vector Machines bằng R

Xem khóa học

Hướng dẫn bài tập

  • Đặt khoảng tìm kiếm tham số như sau:
    • cost - từ 0,1 (10^(-1)) đến 100 (10^2) theo bội số của 10.
    • gammacoef0 - một trong các giá trị: 0,1; 1; và 10.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

#tune model
tune_out <- 
    tune.svm(x = trainset[, -3], y = trainset[, 3], 
             type = "C-classification", 
             kernel = "polynomial", degree = 2, cost = 10^(___:___), 
             gamma = c(___, ___, ___), coef0 = c(0.1, 1, 10))

#list optimal values
tune_out$best.parameters$___
tune_out$best.parameters$___
tune_out$best.parameters$___
Chỉnh sửa và Chạy Mã