0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SVMのプログラミング

Last updated at Posted at 2019-12-15

SVMのプログラミングをgoogle Colaboratoryで実行してみる。

SVMの勉強のため
https://datanerd.hateblo.jp/entry/2017/09/03/202738
の内容をgoogle Colaboratoryで実行してみた。

以下、実行上のメモ:

  • import mglearnでエラーが出たので
    !pip install mglearnをはじめに追加した。

  • make_blobsの使い方は
    https://qiita.com/fujin/items/bb82d77b0b08c107f819
    に記載されている。
    centersはデータの塊の数を設定する。
    random_stateは乱数生成のシードとなる整数を設定する。
    他にもn_samplesによってデータ数を設定できる。

  • LinearSVC().fit(X, y): (X, y)をLinearSVCでフィッティングする。

  • plot_2d_separator: 二次元で境界線を作って作画してくれる。

  • discrete_scatter: 
    第3引数に各データに対するラベルを指定することにより、そのラベルに応じてMarkerの種類や色を変えて散布図を描写をしてくれるメソッド。
    第1引数: 散布図に描写する各データのX値
    第2引数: 散布図に描写する各データのY値
    第3引数: 散布図に描写する各データのLABEL

  • yを表示すると以下のようになっている
    [3 2 1 3 3 0 2 1 3 3 0 0 3 1 1 2 2 3 3 0 0 1 0 0 3 0 0 3 2 1 1 3 1 3 0 2 3
    0 1 2 1 3 2 2 0 2 1 0 1 1 1 2 0 0 3 2 2 2 0 3 3 2 1 2 0 1 3 1 0 0 1 2 0 1
    0 0 3 2 3 1 2 0 3 2 3 2 0 2 2 3 1 0 3 2 2 1 1 3 1 1]
    これがy = y % 2によって
    [1 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 0 0 1 0 1 1 1 1 1 0 0 1
    0 1 0 1 1 0 0 0 0 1 0 1 1 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 1 0 0 1
    0 0 1 0 1 1 0 0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 1 1 1 1]
    と0と1にデータになる。
    このyをdiscrete_scatterの第3引数に使用すると、2色のデータに分類できる。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?