blogソフトウェア開発と人生をやっていきますこの広告は、90日以上更新していないブログに表示しています。機械学習ランダムフォレストと決定木学習ランダムフォレストを理解するためには、決定木学習の手法について理解する必要があります。親から順に条件分岐を辿っていくことで、結果を得る手法です。下は決定木のイメージです。決定木学習とはデータの応じて上の図のような決定木を構成し、分類を行う機械学習の手法のことを指します。決定木学習は、データの種類に応じて決定木を成長させていきます。Gain)が最大になるようにすることです。情報利得は式(1)で表されます。注目しているデータを表します。木を分割するノード数です。不純度という指標で、含まれるデータに偏りがあるほど大きな値になります。不純度の計算にはエントロピー、ジニ不純度、分類誤差などが用いられます。今回はエントロピーを使って説明をします。式(2)にエントロピーの式を示します。データ数tの中に含まれているデータ数iの割合を表します。代入することで情報利得の計算を行います。ランダムフォレストランダムフォレストは決定木を複数組み合わせて、各決定木の予測結果を多数決することによって結果を得ます。*1以下にアルゴリズムを示します。ランダムにデータを抽出する*2決定木を成長させる1,2ステップを指定回繰り返す予測結果を多数決することによって分類閾値(ラベル)を決定する。ランダムフォレストはパラメータが非常に簡単になるという利点があります。主要なパラメータはサンプリング数と決定木を成長させる際に使用する特徴量の数だけです。すると良いと言われています。*3ランダムフォレストのメリットとデメリットメリット特徴量のスケーリングが必要ない(SVMなどの分類手法では必要になる)考慮するパラメータが少ない並列化が容易どの特徴量が重要かを知ることができるデメリット複雑なデータではSVMなどの分類手法に比べて汎化性能が下がるScikit-learnを使って特徴量の重要度にアクセスするScikit-learnにはランダムフォレストの実装されています。今回はこの実装を使ってデータを分類行って、特徴量の重要度を調べてみます。使用する学習データはアヤメの計測データであるIrisデータセットです。以下にソースコードと結果を示します。がく片の幅)が最も重要度の低い指標であることがわかります。この結果は、SVMなどの機械学習アルゴリズムの特徴量選択の参考にすることができます。見る*1:弱学習器を組み合わせてロバストな学習器を作ることをアンサンブル学習と呼びます*2:重複を許さないブートストラップ標本の抽出を行う*3:ただしデータに依存するので、必ずしもこの値が適切とは限りません。できるだけグリッドサーチを行いましょう。»プロフィールid:drilldripperプログラミングと将棋が好きです。(1)月別アーカイブはてなブログをはじめよう!drilldripperさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。