Ảnh hưởng của việc loại bỏ mẫu
Support vector được định nghĩa là các mẫu huấn luyện ảnh hưởng đến ranh giới quyết định. Trong bài này, bạn sẽ quan sát hành vi đó bằng cách loại bỏ các mẫu không phải support vector khỏi tập huấn luyện.
Bộ dữ liệu chất lượng rượu vang đã được nạp vào X và y (chỉ hai đặc trưng đầu tiên). (Lưu ý: chúng ta truyền lims vào plot_classifier() để hai biểu đồ dùng cùng giới hạn trục và có thể so sánh trực tiếp.)
Bài tập này là một phần của khóa học
Bộ phân loại tuyến tính với Python
Hướng dẫn bài tập
- Huấn luyện một SVM tuyến tính trên toàn bộ dữ liệu.
- Tạo một tập dữ liệu mới chỉ chứa các support vector.
- Huấn luyện một SVM tuyến tính mới trên tập dữ liệu nhỏ hơn.
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.
# Train a linear SVM
svm = SVC(kernel="linear")
svm.fit(____)
plot_classifier(X, y, svm, lims=(11,15,0,6))
# Make a new data set keeping only the support vectors
print("Number of original examples", len(X))
print("Number of support vectors", len(svm.support_))
X_small = X[____]
y_small = y[____]
# Train a new SVM using only the support vectors
svm_small = SVC(kernel="linear")
svm_small.fit(____)
plot_classifier(X_small, y_small, svm_small, lims=(11,15,0,6))