サンプルを削除したときの影響
サポートベクターは、決定境界に影響を与える学習例として定義されます。この演習では、サポートベクター以外を学習データから取り除くことで、その性質を確認します。
wine quality データセットはすでに X と y(最初の2特徴のみ)に読み込まれています。(注意:plot_classifier() で lims を指定しているのは、2つのプロットで同じ軸範囲を使い、直接比較できるようにするためです。)
この演習はコースの一部です
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))