SnapCrab_2017-1-28_10-56-8_No-00

こんにちは!大学教員ブロガーのねこしです。

データ解析の手順』における
5.回帰モデルもしくはクラス分類モデルを作る
7.回帰モデルもしくはクラス分類モデルを適用できるデータ領域を決める
についてです。なお実行するためのプログラムについてはこちらをご覧ください。

公開中のプログラム・コード一覧(実用的かつ実践的なデータ解析・機械学習・データマイニング) : 大学教授のブログ (データ分析相談所)

以前の記事に、クラス分類モデル・回帰モデルを使うときには、モデルを適用できるデータ領域を決めないといけない話を書きました。

回帰モデル・クラス分類モデルを使うときに必ずやらなければならないたった1つのこと~モデルを適用できるデータ領域(適用領域・適用範囲)の設定~ : 大学教授のブログ (データ分析相談所)

今回は、サポートベクターマシン(Support Vector Machine, SVM)やサポートベクター回帰(Support Vector Regression, SVR)でモデルをつくるときに、One-Class Support Vector Machine (OCSVM)でモデルの適用領域を決めることについてお話します。OCSVMは上の記事の”データの密度に基づく方法”に対応します。

OCSVMはSVMを応用した手法であり、SVMやSVRとの親和性がとても高いです。なので、SVM・SVRでクラス分類モデル・回帰モデルをつくるときは、OCSVMでモデルの適用領域を決めるのがよいのです。SVM・SVRとOCSVMとで同じカーネル関数・カーネル関数のパラメータを利用できるのもメリットですね。OCSVMの出力が、1だったりTRUEだったりすればそのサンプルの推定値の信頼性は高く、-1だったりFALSEだったりすると信頼性は低いです。

SVM+OCSVMのプログラムを簡単に入手できます!

それぞれのURLからお求めください!noteでもSPIKEでも言語が同じであれば同じものです。

R: note SPIKE

Python: note SPIKE

SVR+OCSVMのプログラムを簡単に入手できます!

それぞれのURLからお求めください!noteでもSPIKEでも言語が同じであれば同じものです。

R: note SPIKE

Python: note SPIKE

多クラス分類用SVM+OCSVMのプログラムを簡単に入手できます!

それぞれのURLからお求めください!noteでもSPIKEでも言語が同じであれば同じものです。

R: note SPIKE

Python: note SPIKE

SVM・SVR+OCSVMは以下の手順で行います。

  1. クラス分類問題であればSVMモデル、回帰問題であればSVRモデルをつくる
    それぞれのモデルの作り方は以下の記事をご覧ください。
    SVM: http://univprof.com/archives/16-02-26-2888783.html
    SVR: http://univprof.com/archives/16-05-02-2888580.html
  2. OCSVMモデルをつくる
    詳しくは以下の記事に書かれています。
    http://univprof.com/archives/16-06-03-3678374.html
    OCSVMモデルをつくるとき、SVM・SVRと同じカーネル関数・カーネル関数のパラメータを使います。たとえば、SVM・SVRでガウシアンカーネルを使ったときは、OCSVMでもガウシアンカーネルを使い、SVM・SVRで最適化されたγの値をOCSVMでも使います。
  3. [新しいデータの推定をするとき] OCSVMモデルにデータを入力して、モデルの適用範囲の中か外かを判定する
  4. [新しいデータの推定をするとき] モデルの適用範囲の中のデータをSVMもしくはSVRモデルに入力して目的変数の値を推定する

ここまでお読みいただきありがとうございます。ぜひ上のSVM・SVR+SVMのプログラムもご活用ください。

データ解析の質問 募集中!

こちらへお願いします!

ご案内。

オススメ記事セレクション。

twitterでも発信中。

この記事に興味を持っていただけましたら、ぜひフォローをお願いします!


無料メルマガでブログにない情報を配信中。

データ解析・分析に興味がありましたらぜひ登録をお願いします!
無料メルマガの登録はこちら