scikit-learn機械学習⑬ランダム・フォレスト
前回は、scikit-learnのDecisionTreeClassifierを使って決定木(Decision Tree)の実験を行いました。今回は、その知識をさらに拡張して、ランダム・フォレスト(Random Forest)について解説します。
大雑把に説明すると、ランダム・フォレストはたくさんの決定木を作って、それぞれの決定木に予測をさせます。そして、一番多くの「投票」を得たクラスがモデルの予測として採用されます。決定するための木がたくさんあるのでフォレスト(森)というわけです。
一見、同じ訓練データセットから多くの決定木を作ると、すべて同じような予測しか出ないように思えますが、そんなことはありません。
ランダム・フォレストは、バギング(Bagging)というアンサンブル学習法をベースにしており、ブートストラップ法(Bootstrap method)を用いるため、各決定木にランダムな訓練データを取得することができます。さらに、ランダム・フォレストはバギングにある改良を加えてより一般化能力が高くなる工夫がなされています。
この記事では、これらの概念の解説を行い、ランダム・フォレストの中身を深掘りします。
この記事が気に入ったらチップで応援してみませんか?