ランダムフォレストは、 アンサンブル学習 を使う 決定木 です。
一般的な 決定木 は、全部のデータで1つの木を作ろうとしますが、 ランダムフォレストは、行も列も1部のデータを取り出して、木を作り、複数の木(フォレスト:森)で総合的に進めます。 こうすることで、過学習を改善します。
ランダムフォレストの使い方は、大きくは3つに分かれるようです。
ランダムフォレストは、有名なので、いろいろなソフトの中に入っています。 ただし、「データの構造を調べる」の使い方ができるものは、限られているようです。
「重要な変数を求める(変数の重要度の分析)」と「データの構造を調べる」の使い方の、Rによる実施例は、 Rによる決定木 のページにあります。
たくさんの木を表示する機能が入っています。
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と集団学習
https://www1.doshisha.ac.jp/~mjin/R/Chap_32/32.html
順路
次は
モデル木