トップページ | ひとつ上のページ | 目次ページ | このサイトについて | ENGLISH

ランダムフォレスト

ランダムフォレストは、 アンサンブル学習 を使う 決定木 です。

一般的な 決定木 は、全部のデータで1つの木を作ろうとしますが、 ランダムフォレストは、行も列も1部のデータを取り出して、木を作り、複数の木(フォレスト:森)で総合的に進めます。 こうすることで、過学習を改善します。

ランダムフォレストの使い方

ランダムフォレストの使い方は、大きくは3つに分かれるようです。

ソフト

ランダムフォレストは、有名なので、いろいろなソフトの中に入っています。 ただし、「データの構造を調べる」の使い方ができるものは、限られているようです。

R

「重要な変数を求める(変数の重要度の分析)」と「データの構造を調べる」の使い方の、Rによる実施例は、 Rによる決定木 のページにあります。

RapidMiner

たくさんの木を表示する機能が入っています。

R-EDA1

R-EDA1でもランダムフォレストはできます。

「Decision_Tree(決定木)」に、「C5.0_based_RandomForest(C5.0を使ったランダムフォレスト)」があります。

「C5.0」では、木は1つできますが、これは全変数、全サンプルを使って作られます。

C5.0_based_RandomForestでは、変数やサンプルの1部について、複数の組合せを選ぶことで、複数の木を作ります。 これによってデータの多様性や、似たような結果になる変数がわかるようになります。

1部のデータの選び方は、ランダムサンプリングです。 行数や列数の平方根の数を選ぶようにしてあります。 例えば、10000行のデータなら、100行が選ばれます。

「Random sampling of samples (columns)」にチェックを入れて、 「Random sampling of variables (rows)」のチェックを外すと、サンプルは1部を使って、変数は全部使う形で、複数の木を作ります。 これは「バギング」という言われている手法になります。

逆に「Random sampling of samples (columns)」のチェックを外して、 「Random sampling of variables (rows)」にチェックを入れると、変数は1部を使って、サンプルは全部使う形で、複数の木を作ります。 サンプル数が少ない場合や、因果関係の分析では、このやり方の方が知りたいことに到達しやすくなります。

R-EDA1  R-EDA1 



参考文献

同志社大学 金明哲先生のページ
Rと集団学習 https://www1.doshisha.ac.jp/~mjin/R/Chap_32/32.html


順路 次は モデル木

Tweet データサイエンス教室