外れ値やノンパラメトリックに強い決定木モデルに対して、従属変数に対数変換を行った値を使うことに関するメモ
kaggle House Pricesを行っている中で、独立・従属変数に対数変換をかけてから、モデリングしたらRandom Forestのスコアが良くなったので、なんでそんな現象が起きたのかわからない。その原因を調べたメモ。
参考サイト:
- Log of target variable before training random forest regressor
When to Log/Exp your Variables when using Random Forest Models?
Regression tree analysis does not require transforming variables, but is it a problem if we for e.g. log-transform the response variable?
同じようにスコアが上がったが原因がわからないと質問しているサイトを見つけたが、答えはなかった。基本的に、Random Forest等の決定木モデルでは、そもそも非線形でモデリングできて、外れ値に強いし、変数間のスケールも関係ないので、対数変換が良い効果を及ぼすことは無いらしい。ただし、Random Forestなどで特徴量の重要度を調べたい時は、変数間のスケールの違いが、重要度の計算に影響を与えるらしいので、標準化などのスケーリングを行った方が良いとのこと。(参照サイトより)
また、対数変換することで分布が正規分布に近づいたことにより、分類木の終端ノードの分布の偏りが無くなった話があるが(サイト)、それによってどのように良い効果があるのかがまだわからない。
どちらにせよ、回帰を扱う時は線形回帰モデルも試すだろうから、従属変数が対数変換で正規分布に近づくようなら、対数変換する作業をデフォルトで入れといてもいいのか?
0コメント