41

RパッケージrandomForestを使用して、生物学データの回帰を行っています。トレーニング データのサイズは38772 X 201です。

ntree私はちょうど疑問に思いました---木の数とレベルごとの変数の数の良い値は何でしょうmtryか? そのようなパラメータ値を見つけるための近似式はありますか?

入力データの各行はアミノ酸配列を表す 200 文字であり、タンパク質間の距離を予測するためにそのような配列を使用する回帰モデルを構築したいと考えています。

4

5 に答える 5

38

mtry のデフォルトは非常に賢明なので、いじる必要はありません。tuneRFこのパラメータを最適化する機能があります。ただし、偏りが生じる場合がありますのでご注意ください。

ブートストラップ複製数の最適化はありません。私はよくntree=501、ランダム フォレスト オブジェクトから始めてプロットします。これにより、OOB エラーに基づくエラーの収束が示されます。誤差を安定させるには十分なツリーが必要ですが、アンサンブルを過剰に相関させて過剰適合につながるほど多くはしないでください。

注意点は次のとおりです。変数の相互作用はエラーよりも遅い速度で安定するため、多数の独立変数がある場合は、より多くの複製が必要になります。私は ntree を奇数にして、関係を断ち切ることができるようにします。

あなたの問題の大きさについては、私は始めntree=1501ます. また、独立変数の数を減らすために、公開されている変数選択アプローチの 1 つを検討することをお勧めします。

于 2012-12-19T16:29:04.387 に答える
18

短い答えはノーです。

もちろん、randomForest関数には と の両方のデフォルト値がntreeありますmtry。のデフォルト値は多くの場合 (常にではありませんが) 適切ですが、一般的にはデフォルト値の 500 からかなりmtry増やしたいと思うでしょう。ntree

一般に、 の「正しい」値ntreeはそれほど重要ではありません。モデルからの予測が特定の数の木の後ではあまり変わらないことは、少しいじくり回せば明らかだからです。

mtry(and sampsizeand and maxnodesand nodesizeetc) のようなものをいじくり回すのに多くの時間を費やす (読む: 無駄にする) ことができます。ただし、すべてのデータセットは異なります。大きな違いが見られる場合もあれば、まったく違いが見られない場合もあります。

caretパッケージには非常に一般的な機能があり、さまざまなモデルのtrainようにパラメーター値に対して単純なグリッド検索を実行できます。mtry私の唯一の注意点は、かなり大きなデータセットでこれを行うと、かなり早く時間がかかる可能性があるため、注意してください.

また、どういうわけか、ranfomForestパッケージ自体にtuneRFの「最適な」値を検索するための特別な機能があることを忘れていましたmtry

于 2012-12-19T16:24:22.617 に答える
2

私が使用する 1 つの優れたトリックは、最初に予測変数の数の平方根を取り、その値を "mtry" に差し込むことから始めます。これは通常、ランダム フォレストの tunerf 関数が選択する値とほぼ同じです。

于 2017-07-07T16:09:19.897 に答える