RパッケージrandomForest
を使用して、生物学データの回帰を行っています。トレーニング データのサイズは38772 X 201
です。
ntree
私はちょうど疑問に思いました---木の数とレベルごとの変数の数の良い値は何でしょうmtry
か? そのようなパラメータ値を見つけるための近似式はありますか?
入力データの各行はアミノ酸配列を表す 200 文字であり、タンパク質間の距離を予測するためにそのような配列を使用する回帰モデルを構築したいと考えています。
RパッケージrandomForest
を使用して、生物学データの回帰を行っています。トレーニング データのサイズは38772 X 201
です。
ntree
私はちょうど疑問に思いました---木の数とレベルごとの変数の数の良い値は何でしょうmtry
か? そのようなパラメータ値を見つけるための近似式はありますか?
入力データの各行はアミノ酸配列を表す 200 文字であり、タンパク質間の距離を予測するためにそのような配列を使用する回帰モデルを構築したいと考えています。
mtry のデフォルトは非常に賢明なので、いじる必要はありません。tuneRF
このパラメータを最適化する機能があります。ただし、偏りが生じる場合がありますのでご注意ください。
ブートストラップ複製数の最適化はありません。私はよくntree=501
、ランダム フォレスト オブジェクトから始めてプロットします。これにより、OOB エラーに基づくエラーの収束が示されます。誤差を安定させるには十分なツリーが必要ですが、アンサンブルを過剰に相関させて過剰適合につながるほど多くはしないでください。
注意点は次のとおりです。変数の相互作用はエラーよりも遅い速度で安定するため、多数の独立変数がある場合は、より多くの複製が必要になります。私は ntree を奇数にして、関係を断ち切ることができるようにします。
あなたの問題の大きさについては、私は始めntree=1501
ます. また、独立変数の数を減らすために、公開されている変数選択アプローチの 1 つを検討することをお勧めします。
短い答えはノーです。
もちろん、randomForest
関数には と の両方のデフォルト値がntree
ありますmtry
。のデフォルト値は多くの場合 (常にではありませんが) 適切ですが、一般的にはデフォルト値の 500 からかなりmtry
増やしたいと思うでしょう。ntree
一般に、 の「正しい」値ntree
はそれほど重要ではありません。モデルからの予測が特定の数の木の後ではあまり変わらないことは、少しいじくり回せば明らかだからです。
mtry
(and sampsize
and and maxnodes
and nodesize
etc) のようなものをいじくり回すのに多くの時間を費やす (読む: 無駄にする) ことができます。ただし、すべてのデータセットは異なります。大きな違いが見られる場合もあれば、まったく違いが見られない場合もあります。
caretパッケージには非常に一般的な機能があり、さまざまなモデルのtrain
ようにパラメーター値に対して単純なグリッド検索を実行できます。mtry
私の唯一の注意点は、かなり大きなデータセットでこれを行うと、かなり早く時間がかかる可能性があるため、注意してください.
また、どういうわけか、ranfomForestパッケージ自体にtuneRF
の「最適な」値を検索するための特別な機能があることを忘れていましたmtry
。
私が使用する 1 つの優れたトリックは、最初に予測変数の数の平方根を取り、その値を "mtry" に差し込むことから始めます。これは通常、ランダム フォレストの tunerf 関数が選択する値とほぼ同じです。