SnapCrab_2016-12-22_19-42-24_No-00

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

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

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

二次判別分析 (Quadratic Discriminant Analysis, QDA) によりクラス分類モデルを構築できます。

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

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

MATLAB: note SPIKE AnyPay

R: note SPIKE AnyPay

Python: note SPIKE AnyPay

二次判別分析 (Quadratic Discriminant Analysis, QDA)

QDAでは、サポートベクターマシン (Support Vector Machine, SVM)のCやγのようなクロスバリデーションで決めなければならないパラメータはありません。そのため、とてもシンプルに実行できます。

また線形判別分析 (Linear Discriminant Analysis, LDA)のようには線形でない一方で、LDAと比べて、クラスごとのデータの分布が異なる場合でも柔軟にクラス分類を行うことができます。

ちなみに多クラスでも (カテゴリーが3つ以上でも) OKです。

QDAによるクラス分類は下の手順で行われます。

  1. 説明変数をオートスケーリングする
    オートスケーリングとは各変数から平均値を引いて平均を0にし、各変数を標準偏差で割って標準偏差を1にする操作です。
  2. QDAモデルを構築する
  3. 目的変数の計算値と実測値との間で混同行列を計算する
  4. 必要に応じて混同行列から正解率・検出率・精度などを計算する
  5. [新しいデータの推定をするとき] 説明変数の新しいデータから、オートスケーリングした時の説明変数の平均値を引き、標準偏差で割る
  6. [新しいデータの推定をするとき] 上の2.で得られたQDAモデルにより目的変数の推定値を計算する

新しいデータを推定する際に工夫が必要なのは、最終的に得られたQDAモデルは、説明変数がオートスケーリングされた後のモデルであるためです。そこで、新しく推定したい説明変数のデータがあれば、そのデータからオートスケーリングした時の説明変数の平均値を引き、標準偏差で割ってから、QDAモデルにより目的変数の推定値を計算する必要があります。

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

こちらへお願いします!

ご案内。

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

twitterでも発信中。

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


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

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