CARETのパラメーターチューニング(グリッド)機能を無効にする方法はありますか?


15

CARETは、事前に指定されたチューニンググリッドを使用してさまざまなモデルを自動的に構築してから、最終モデルを選択し、完全なトレーニングデータで最終モデルをトレーニングします。パラメーターの組み合わせを1つだけ使用して、独自のチューニンググリッドを提供できます。ただし、この場合でも、CARETは(この場合は1つしかありませんが)調整パラメーターから最適なモデルを「選択」し、最終モデルをすべてのトレーニングデータに適合させます。これは私が避けたい余分なステップです。

チューニンググリッドのバリエーション全体でモデル検索ステップをスキップし、すべてのトレーニングデータに基づいてCARETを強制するにはどうすればよいですか(基礎となるモデルライブラリを直接呼び出す以外)。


1
質問はかなり明確ではありません。おそらく、さまざまな質問に答える返信を受け取った理由を説明しています。および2)モデルのチューニングのみをオフにするにはどうすればよいですか?
ヨハンラーソン

回答:


17

あなたは指定することができますmethod="none"の中でtrainControl。例えば:

train(Species ~ ., data=iris, method="rf", tuneGrid=data.frame(mtry=3),
  trControl=trainControl(method="none"))

これがいつ実装されたかはわかりません。


9

最良の方法は、tuneGridデータフレームを明示的に提供することです。たとえば、ランダムフォレストには、「mtry」という調整パラメーターが1つしかありません。これは、各ツリーに対して選択される機能の数を制御します。

mtryを特定の値に設定するには、randomForestのデフォルト(?randomForest)を選択してこれを行います。

model <- train(x = X, y = Y, method = 'rf', tuneGrid = data.frame(.mtry = M))

ここで、Mは使用するチューニングパラメーターの1つの値です。

複数の調整パラメータの場合、これを行います。

tuneGrid = data.frame(.par1 = P1, .par2 = P2, .par3 = P3)

私たちのサイト、ブレントへようこそ!この古い質問のフォローアップをありがとう。
whuber

4
以下の提案method="none"がより良い解決策です。
topepo

1

私はそれが可能だとは思わない(少なくとも数バージョン前には不可能だった)。トレーニングデータにリサンプリングパーティションを1つだけ設定することにより、パフォーマンスへの影響を減らすことができます(ただし、キャレットはモデルを2回トレーニングします)

これは便利な機能のように思えるので、パッケージの作成者にpingを送信します。


申し訳ありませんが、この回答は現在廃止されています
-smci
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.