【Scikit-learn】サポートベクタマシン(SVM)で教師あり学習(分類器作成)

Pythonと機械学習ライブラリ「scikit-learn」を用いて、サポートベクタマシン(SVM)による教師あり学習を行う方法について紹介します。

【Scikit-learn】サポートベクターマシンで2クラス分類

サポートベクターマシン(略称:SVM)は、教師あり学習モデルの1つです。
2クラスのパターン識別器としては非常に強力なモデルで、データの分類や回帰などで大きな効果を発揮しています。

【SVM】サポートベクターマシンの原理・計算式
こ機械学習のアルゴリズム「サポートベクターマシン(SVM)」の基本的な原理や仕組みについてまとめました。

動画解説

書式

svm.SVC(gamma, C)
パラメータ 説明
gamma rbf, poly, sigmoidカーネル(ガウシアンカーネル)のパラメータです。(値が大きいほど境界が複雑になる)
C どれだけ誤分類を許容するかのパラメータです。(値が小さいほど誤分類を許容)
kernel 非線形の境界線を生成するのに必要なパラメータ。カーネル関数の種類(デフォルトはrbf)。rbf(RBFカーネル), linear(線形カーネル:これを使うと単純な線形となるが処理速度は速い), poly(多項式カーネル), sigmoid(シグモイドカーネル)などを指定できる。

ソースコード

サンプルプログラムのソースコードです。


検証結果をみると、「x1とx2の和が10以上・・・x3は1、x1とx2の和が10未満・・・x3は0」と判別していることがわかります。

学習用データ(train.csv)


x1とx2の和が10以上・・・x3は1
x1とx2の和が10未満・・・x3は0

テスト用データ(test.csv)


【Scikit-learn】サポートベクターマシンの学習モデルを出力・保存
この記事では、Pythonと機械学習ライブラリ「scikit-learn」を用いて、サポートベクタマシン(SVM)による教師あり学習を行う方法について紹介します。
【Scikit-learn】サポートベクターマシンの学習ファイルを読み込む
Pythonとscikit-learnを用いて、サポートベクタマシン(SVM)により生成した学習モデルファイルを読み込んで利用する方法とソースコードについて紹介します。

【応用】決定境界の可視化、、データセットの利用

コラム 概要
決定境界の可視化 決定境界の可視化について解説しています。
多クラス分類 多クラス分類への拡張方法について解説しています。
アヤメの品種ス分類 Irisデータセットを使ったアヤメの品種分類について解説しています。
手書き数字の認識 Digitsデータセットを使った手書き数字画像の認識について解説しています。
【Scikit-learn】機械学習入門・使い方・読み方
この記事では、Pythonモジュール「Scikit-learn」で機械学習を行う方法について入門者向けに使い方を解説します。

コメント

タイトルとURLをコピーしました