見出し画像

scikit-learn 分類 - Non-linear SVM

この例を検証する。

[1] 必要ライブラリを読む。

[2] -3から3の2Dスペースを作る。このlinespace中の500を例えば10とし、最後のplotをみてみると何をしているかわかる。

yターゲットでXの300個のデータが0か1どちらのクラスに分類するか設定している。logical XORは下。座標の右上と左下が同じクラス、右下と左上が同じクラスになるように設定。


A | B | A XOR B
---------------

0 | 0 |   0
0 | 1 |   1
1 | 0 |   1
1 | 1 |   0

[3] 途中で変数をプリントし、やりたいことが行われているか、常に確認。outputが長いのでここではコメントアウト。

画像1

[4] NuSVC (Nu-Support Vector Classification) で分離し、targetにfit。 fitした後のdecision_fucntion は分類でできたhyperplane(超平面)のどちら側にいるか・どれほど離れているか(->contour)を教えてくれる。

[5] 書き出し、色々確認。

画像2

[6] Plot, finally! 色など、parameterを変えてみる。

画像3


この記事が気に入ったらサポートをしてみませんか?