【機械学習】Random Forestのハイパーパラメータチューニング
Random Forestのハイパーパラメータチューニングについて、下記記事が参考になったので概要抜粋します。 www.analyticsvidhya.com
モデルの予測パワーを上げるためのパラメータは3つ
1. max_features
- 各ツリーで使われる特徴量の数。デフォルト値はsqrt。
- max_featuresを増やすと各ツリーの精度は向上するが、ツリーごとの多様性が小さくなるため、必ずしも全体の性能を向上させるとは限らない。
- max_featuresを増やすと計算時間がかかるようになる。
- 上記より、最適なmax_featuresの値はバランスをとって考慮する必要がある。
2. n_estimators
- ツリーの数。
- 一般的に、ツリーの数を大きくするとパフォーマンスは向上するが、計算時間はかかる。
- コンピュータが計算可能な可能な限りこの値を大きくすることで、予測の精度と安定性が向上する。
3. min_sample_leaf
- "leaf"の最小値。leafとは、決定木の先端のノードのこと。
- leafのサイズを小さくすると、トレーニングデータのノイズに敏感になる傾向がある。
- 著者は「50以上」にすることを推奨している。また、色々なサイズで試してみるのが良いだろうとのこと。
Gradient Boostingと比較して
Gradient Boostingと比較して、Random Forestの方がチューニングするパラメータの数は少なくすみそう。 参考にした記事の内容もRandom Forestの方があっさりしていた。
チューニングなしで使うならRandom Forestもありかもしれない。 (ただし、チューニングなしでもGradient Boostingの方が性能が出ることも多そうだが。。)
参考までにGradient Boostingのパラメータチューニングに関する記事↓ rn17.hatenablog.com