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が長いのでここではコメントアウト。
[4] NuSVC (Nu-Support Vector Classification) で分離し、targetにfit。 fitした後のdecision_fucntion は分類でできたhyperplane(超平面)のどちら側にいるか・どれほど離れているか(->contour)を教えてくれる。
[5] 書き出し、色々確認。
[6] Plot, finally! 色など、parameterを変えてみる。