Effetto della rimozione degli esempi
I support vector sono definiti come esempi di training che influenzano la frontiera di decisione. In questo esercizio osserverai questo comportamento rimuovendo dal training set i punti che non sono support vector.
Il dataset sulla qualità del vino è già caricato in X e y (solo le prime due feature). (Nota: specifichiamo lims in plot_classifier() così che i due grafici usino gli stessi limiti degli assi e possano essere confrontati direttamente.)
Questo esercizio fa parte del corso
Classificatori lineari in Python
Istruzioni dell'esercizio
- Allena una SVM lineare sull’intero insieme di dati.
- Crea un nuovo insieme di dati contenente solo i support vector.
- Allena una nuova SVM lineare sul dataset più piccolo.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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))