カーネルSVMモデル (決定境界)

カーネル法は、線形分離できないデータを線形分離できる状態に変換する手法です。

カーネル法により変換されたデータに対して、線形SVMで決定境界を引いた後に元の状態に逆変換します。

こうすることにより非線形の決定境界を引くことができます。

カーネルSVMモデル 構築・可視化

カーネルSVMモデルを構築するためにはscikit-learnSVCクラスを使用します。(2行目)

[Google Colaboratory]

1
2
3
4
5
from sklearn.svm import SVC
kernel_svm = SVC(kernel="rbf",random_state=0).fit(X_train_scaled, y_train)

plot_decision_regions(np.array(X_train_scaled), np.array(y_train), clf=kernel_svm)
plt.show()

データセットは、これまでと同じ「乳がんの診断データ」を使用し、前回記事同様plot_decision_regionsメソッドを使い決定境界を可視化します。


[実行結果]

上図のように直線ではない決定境界を引くことができました。

線形による分類よりも、非線形による分類の方が適切に境界を分けることができています。