Effekten av att ta bort exempel
Stödvektorer definieras som träningsexempel som påverkar beslutsgränsen. I den här övningen ska du observera det beteendet genom att ta bort icke-stödvektorer från träningsdatan.
Vinkvalitetsdatamängden är redan inläst i X och y (endast de två första särdragen). (Obs: vi anger lims i plot_classifier() så att de två diagrammen tvingas använda samma axelgränser och kan jämföras direkt.)
Den här övningen är en del av kursen
Linjära klassificerare i Python
Övningsinstruktioner
- Träna en linjär SVM på hela datamängden.
- Skapa en ny datamängd som bara innehåller stödvektorerna.
- Träna en ny linjär SVM på den mindre datamängden.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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))