Trực quan hóa ranh quyết định và biên margin với `ggplot2`
Trong bài tập này, bạn sẽ thêm đường ranh quyết định và các biên margin vào biểu đồ scatter của các support vector đã tạo ở bài trước. Mô hình SVM có sẵn trong biến svm_model và véc-tơ trọng số đã được tính sẵn cho bạn trong biến w. Thư viện ggplot2 cũng đã được nạp sẵn.
Bài tập này là một phần của khóa học
Support Vector Machines bằng R
Hướng dẫn bài tập
- Tính hệ số góc và tung độ gốc của đường ranh quyết định.
- Thêm đường ranh quyết định vào biểu đồ.
- Thêm các biên margin vào biểu đồ.
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.
#calculate slope and intercept of decision boundary from weight vector and svm model
slope_1 <- -___/w[2]
intercept_1 <- ___$rho/w[2]
#build scatter plot of training dataset
scatter_plot <- ggplot(data = trainset, aes(x = x1, y = x2, color = y)) +
geom_point() + scale_color_manual(values = c("red", "blue"))
#add decision boundary
plot_decision <- scatter_plot + ___(slope = ___, intercept = ___)
#add margin boundaries
plot_margins <- plot_decision +
___(slope = ___, intercept = ___ - 1/w[2], linetype = "dashed")+
___(slope = ___, intercept = ___ + 1/w[2], linetype = "dashed")
#display plot
plot_margins