Zacznij terazZacznij za darmo

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

Zobacz kurs

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))
Edytuj i uruchom kod