[プログラム・コード公開] コピペだけで実用的かつ実践的なSVM (MATLAB・R・Python)
【更新・値上げ中】好評につき再度 値上げしました。
なおご要望に応じて、プログラムの一部は以下のようになります。
仕事や研究でサポートベクターマシン (Support Vector Machine, SVM) をする必要のある方もいらっしゃると思います。SVMの実用的方法はこちらに書きました。
しかし、SVMのやり方はわかってSVM自体のソースコードはあっても、実際にSVMができるようになるわけではありません。ネットでSVMのプログラミングを説明しているページはいくつもありますが、実際に自分の手でSVMを行うには、いくつものページを調べる必要があり一手間かかります。
そこでコピペするだけでSVMを実行可能なプログラムを記載しました。カーネルはガウシアンカーネルです。以下に示す形式のデータ(data.csv, data_prediction1.csv, data_prediction2.csv)さえ準備すれば、MATLAB もしくは R もしくは PythonでSVMが可能です。
●必要なもの
・モデル構築用データのcsvファイル [data.csv]
下図のように、一番上が変数の名前、一番左がサンプルの名前です。一番左の変数が目的変数Yであり各サンプルのカテゴリを1もしくは-1で表します。Yの右が説明変数Xです。サンプルの名前と変数の名前はすべて異なるものにしてください。
・予測用データ1のcsvファイル [data_prediction1.csv]
予測用データ1は目的変数Yの値が分かっている予測用データです。data.csvと説明変数の種類および個数を揃える必要があります。data.csvと同様に各サンプルのカテゴリを1もしくは-1で表します。準備できない場合はdata.csvと同じもので名前をdata_prediction1.csvとしてください。
下図のように、一番上が変数の名前、一番左がサンプルの名前です。一番左の変数が目的変数Yでありその右が説明変数Xです。サンプルの名前はすべて異なるものにしてください。
・予測用データ2のcsvファイル [data_prediction2.csv]
予測用データ2は目的変数Yの値が分かっていない予測用データです。data.csvと説明変数の種類および個数を揃える必要があります。準備できない場合はdata.csvの説明変数だけ取り出したもので名前をdata_prediction2.csvとしてください。
下図のように、一番上が変数の名前、一番左がサンプルの名前です。サンプルの名前はすべて異なるものにしてください。目的変数の予測値がPredictedY2.csvというファイルに出力されます。
例としてRによる実行結果を下に示します。MATLABやPythonでも同様の結果が得られます。data_prediction2.csvの目的変数の予測値がPredictedY2.csvというファイルに保存されます。
MATLAB、R、Pythonで必要な物はそれぞれ以下の通りです。
*MATLABをお使いの方が必要なもの
MATLAB [こちらではR2016aです]
Statistics and Machine Learning Toolbox
*Rをお使いの方が必要なもの
・RStudio [こちらではVersion 0.99.879です]
*Pythonをお使いの方が必要なもの
Spyder [こちらではAnacondaのPYTHON 3.5をインストールしました。Spyder 2.3.8です]
特にRやPythonの環境は無料で準備できるためおすすめです。もちろんSVMからスタートしてさらにプログラミングを進めたいと考えている方にもぜひ利用していただければと思います。
MATLAB、R、Pythonの3つのプログラムは有料コンテンツとして記載します。有料ではありますが、どれもコピペすればこちらに記載したSVMがすぐに実行可能です。みなさまからいただいたお金はこれからの研究資金として使用させていただきます。サポートしていただいた皆さまにお礼申し上げます。
ここから先は
¥ 3,000
この記事が気に入ったらチップで応援してみませんか?