Влияние удаления примеров
Опорные векторы — это обучающие примеры, которые влияют на разделяющую границу. В этом упражнении вы убедитесь в этом на практике: удалите из обучающей выборки все примеры, не являющиеся опорными векторами.
Набор данных о качестве вина уже загружен в X и y (используются только первые два признака). (Примечание: параметр lims в plot_classifier() задан так, чтобы оба графика использовали одинаковые пределы осей — это позволяет сравнивать их напрямую.)
Это упражнение является частью курса
Линейные классификаторы в Python
Инструкции к упражнению
- Обучите линейную SVM на всём наборе данных.
- Создайте новый набор данных, содержащий только опорные векторы.
- Обучите новую линейную SVM на уменьшенном наборе данных.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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))