2016-7-1_19-29-35_No-00

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

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

[New] AdaBoostのプログラムを簡単に入手できるようになりました!

それぞれのURLからお求めください!

MATLAB: https://spike.cc/shop/univprof/products/MV6lZQdx

R: https://spike.cc/shop/univprof/products/SM2FqK2G

Python: https://spike.cc/shop/univprof/products/3eWIBTa6

Adaptive Boosting (AdaBoost)

Adaptive Boosting (AdaBoost) はクラス分類におけるアンサンブル学習の方法の一つです。いろいろなクラス分類手法を組み合わせることで、推定性能を向上させることができます。さらに、通常のクラス分類モデルでは、出力として判定されたクラスのみになりますが、AdaBoostではアンサンブル学習により各クラスになる確率が出力されます。その確率がもっとも高いクラスが判定されたクラスとなるわけです。確率が高いほど推定値の信頼性が高いといえます。

AdaBoostは以下の手順で行われます。

  1. クラス分類手法を決める
    一般的に用いられるのは決定木です。ハイパーパラメータの数が少ないのと、あまり最初に細かく設定する必要がないためです。
  2. モデルの数を決める
    アンサンブル学習では、たくさんモデルを作って、推定するときはそれらの複数のモデルからの推定値を総合的に評価して最終的な推定値とします。
  3. 必要に応じて説明変数をオートスケーリングする
    オートスケーリングとは各変数から平均値を引いて平均を0にし、各変数を標準偏差で割って標準偏差を1にする操作です。決定木であれば必要ありません。
  4. AdaBoostモデルを構築する
  5. 目的変数の計算値と実測値との間で混同行列を計算する
    必要に応じて混同行列から正解率・検出率・精度などを計算する。
  6. [新しいデータの予測をするとき] 必要に応じて、説明変数の新しいデータからオートスケーリングした時の説明変数の平均値を引き、標準偏差で割る
  7. [新しいデータの予測をするとき] 上の 4. で得られたAdaBoostモデルにより目的変数の推定値と各クラスに判定される確率を計算する

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

新しいデータを推定したときは、各クラスに判定される確率によって推定値の信頼性も評価しましょう。

ご案内。

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

twitterでも発信中。

フォローしていただけると嬉しいです。


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

無料メルマガの登録はこちら