Efekt usuwania przykładów
Wektory nośne to takie przykłady treningowe, które wpływają na granicę decyzyjną. W tym ćwiczeniu zaobserwujesz to zachowanie, usuwając ze zbioru treningowego przykłady niebędące wektorami nośnymi.
Zbiór danych dotyczący jakości wina jest już załadowany do X i y (tylko dwie pierwsze cechy). (Uwaga: parametr lims w funkcji plot_classifier() jest ustawiony tak, aby oba wykresy używały tych samych zakresów osi i można je było bezpośrednio porównać.)
To ćwiczenie jest częścią kursu
Liniowe klasyfikatory w Pythonie
Instrukcje do ćwiczenia
- Wytrenuj liniową SVM na całym zbiorze danych.
- Utwórz nowy zbiór danych zawierający wyłącznie wektory nośne.
- Wytrenuj nową liniową SVM na tym mniejszym zbiorze danych.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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))