複数の属性に基づいて価格を予測するために、ランダムフォレストを使用して回帰を行っています。コードは、Scikit-learnを使用してPythonで記述されています。
exp
/ log
を使用して変数を変換してから回帰モデルに適合させる必要があるかどうかをどのように決定しますか?ランダムフォレストなどのアンサンブルアプローチを使用する場合、必要ですか?
複数の属性に基づいて価格を予測するために、ランダムフォレストを使用して回帰を行っています。コードは、Scikit-learnを使用してPythonで記述されています。
exp
/ log
を使用して変数を変換してから回帰モデルに適合させる必要があるかどうかをどのように決定しますか?ランダムフォレストなどのアンサンブルアプローチを使用する場合、必要ですか?
回答:
ランダムフォレストの構築方法は、独立変数の単調変換に対して不変です。スプリットは完全に類似しています。正確さを目指しているだけであれば、改善は見られません。実際、ランダムフォレストは複雑な非線形(なぜこの線形回帰と呼んでいるのですか?)関係と変数の相互作用を即座に見つけることができるため、独立変数を変換すると、このアルゴリズムが実行できる情報を平滑化できますこれは適切に。
ランダムフォレストはブラックボックスとして扱われず、推論に使用される場合があります。たとえば、それが提供する変数の重要度の測定値を解釈したり、独立変数の従属変数に対するある種の限界効果を計算したりできます。これは通常、部分依存プロットとして視覚化されます。この最後のことは、変数のスケールに大きく影響されると確信しています。これは、ランダムフォレストからより記述的な性質の情報を取得しようとするときに問題になります。この場合、変数を変換(標準化)すると、部分依存プロットを比較できるようになる場合があります。これについて完全には定かではありませんが、それについて考えなければなりません。
少し前に、ランダムフォレストを使用してカウントデータを予測しようとしました。平方根で回帰し、従属変数の自然対数は、モデルを維持するのに十分ではありませんでした。
推論にランダムフォレストを使用できるパッケージ:
https://cran.r-project.org/web/packages/randomForestExplainer/index.html
https://pbiecek.github.io/DALEX_docs/2-2-useCaseApartmetns.html
@JEquihuaをエコーすると、ランダムフォレストの予測精度は向上しません。
また、元の予測変数と変換された予測変数の両方を保持すると(線形回帰でよく行われます)、問題が発生する可能性があります。これは、RFが変数のサブセットをランダムに選択して各ツリーを成長させ、本質的に変換された変数を2回配置したためです。強力な予測子である場合、それは使用され、ランダムフォレストは以前ほど無相関にならず、分散が大きくなります。