rf_head

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

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

ランダムフォレスト(Random Forests, RF)の実用的方法です。

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

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

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

R: https://spike.cc/shop/univprof/products/4RL6CMGa

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

[New] RF(クラス分類)のプログラムを簡単に入手できるようになりました!

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

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

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

Python: https://spike.cc/shop/univprof/products/yqHG5fDv

Random Forests (RF)

  

  1. 決定木の数を設定する
    例えば500とします。
  2. 各決定木で使用する説明変数の割合の候補を決める
    例えば、各決定木で使用する説明変数の割合を 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 とします。
  3. すべての候補においてランダムフォレストの学習を行い、各決定木の構築に使用されていないデータであるOut Of Bag(OOB)データの推定値を計算する
  4. すべての候補において、OOBデータにおける目的変数の実測値と推定値との間で、回帰問題であればRoot-Mean-Squared Error (RMSE) を、クラス分類問題であれば誤分類率を計算する
  5. RMSEもしくは誤分類率の最も小さい候補を選択する
  6. 選択された候補を用いた際のランダムフォレストの学習を行う
  7. 目的変数の計算値と実測値との間で、回帰問題であれば決定係数・RMSE (r2C・ RMSEC)を、クラス分類問題であれば混同行列を計算する
    r2Cは目的変数の持つ情報の何割を説明できるモデルかを表します。
    RMSECはモデルのもつ平均的な誤差を表します。
  8. OOBデータにおける目的変数の推定値と実測値との間で、回帰問題であれば決定係数・RMSE (r2OOB・ RMSEOOB)を、クラス分類問題であれば混同行列を計算する
    r2OOBは目的変数のもつ情報の何割を新しいデータに対して推定できる可能性があるかを表します。
    RMSEOOBは新しいデータを推定したときに平均的な誤差はどれくらいになるかを表します。
  9. 回帰問題であれば、目的変数の実測値と計算値とのプロット、そして実測値と推定値とのプロットを確認する
    これにより外れ値がないか確認できます。
  10. [新しいデータの推定をするとき] 上の6.で学習されたランダムフォレストにより目的変数の推定値を計算する

ランダムフォレストの学習に時間がかかりすぎてしまうときは決定木の数を小さくしましょう。予測精度が不十分のときは決定木の数を大きくするとよくなることがあります。


[ランダムフォレストの参考書はこちら]

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

こちらへお願いします!

ご案内。

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

twitterでも発信中。

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


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

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