R /キャレット:トレーニングおよびテストセットと交差検証?


9

これはおそらくばかげた質問かもしれませんが、キャレットを使用してモデルを生成し、LOOCVまたは(さらにLGOCV言えば)何かを使用する場合、これが本質的にクロス検証ステップである場合、データをトレーニングセットとテストセットに分割する利点は何ですか?とにかく?

私はいくつかの関連する質問を読みました、そして彼らはいくつかの交差検定方法(例えば、キャレットサイトでここで説明されているもの)が特徴選択の目的のためであると提案しました。しかし、私の場合、randomForestmethod = "rf")とkernlabmethod = svmRadial)を使用しています。これらは、予測子をパージしようとするグループにリストされていません。

したがって、私の質問は、のようなものを使用する場合cross_val <- trainControl(method = "LGOCV", p = 0.8)、私のデータの80%でトレーニングし、残りの20%で結果のモデルをテストし、それを何度も繰り返して、モデルは機能していますか?

もしそうなら、私のデータをトレーニング/テストセットに分割する必要がありますか?

PS私は、経験的に生成されたDOEプロトタイプでモデルを実行しているときに一部質問します(入力を微調整し、テストメソッドを使用してプロトタイプに関するさまざまな属性を測定するハードグッズを考えてください)。

そのため、モデル化する予測子レベルが重複している膨大なデータセットはありません。この場合、データ生成には費用がかかるため、関心のある各DOEポイントで1つの試行を実行することがよくあります。したがって、できる限り正確なモデルに使用できるデータを使用したいのですが、何かを明確に見逃していないこと、および分割しないことで質の悪いモデルを作成していないことをここで確認したいと思います。


編集: @topepoの質問に答えて、私は式の化学入力の調整に基づいて、化合物の物理的に測定された属性をモデリングしています。実際のアプリケーションについては説明できませんが、インテリアラテックスペイントの配合に基づいた例を作成します。私は、4〜5種類の化学物質をブレンドし、固形分(%)で遊んで、ポリマー溶液を加熱して重合度を調整する時間を計画した実験を行っています。

次に、レオロジー、分子量、塗料コーティングの硬度、耐水性などを測定します。

いくつかの変数のまともな複製がありますが、すべてのDOEレベルがまったく同じであるという意味で、真の複製はほとんどありません。合計データセットは〜80の観測値であり、おそらく4〜5は正確な繰り返しです。私たちは15の異なるテストを実施しましたが、おそらく5〜6回のテストがすべての観察で行われています。一部の応答は、データの25-50%に存在します。

ここから、7つの予測子が出力プロパティに与える影響をモデル化し、目的のプロパティを与える可能性が最も高い新しい設計空間をターゲットとするように最適化します。

ここに私の質問があります。トレーニング済みのモデルができたら、「リバース」を実行し、必要な応答を入力して、可能な入力レベルでの最適な推測を得て、次に試すことをお勧めします)。


検証セットとテストセットは2つの異なるものです!参照stats.stackexchange.com/questions/19048/...en.wikipedia.org/wiki/Test_set
sashkello

@sashkelloありがとうございます。これはおそらく重複として閉じることができ、どういうわけか私はその質問を完全に逃しました。不足しているビットの1つは次のとおりです。を使用してトレーニングする場合data_set1LGOCV交差検証によって実行されるステップは何と見なすのですか?私のリーディングから、1)caretチューニングパラメータを反復しdata_set1、次に2)それらのパラメータを固定して保持し、3)各p = 0.8サンプルの#1からのパラメータを使用して「サブモデル」を作成data_set1し、残りの0.2の予測をテストして精度を測定します。 。それは合理的な要約ですか?
ヘンディ2013

他に不足しているビットが1つあります。テスト用のセットを省略すると、モデルの精度はまったく向上しますか?将来のテストのために公平なセットを提供するだけのようです。データが制限されており、重複する設計点が多くない場合は、フルセットを使用してトレーニングを行い、精度の推定に相互検証を利用した方がよいでしょうか。
ヘンディ2013

より優れた検索戦略では、これは非常に役立つものです:stats.stackexchange.com/questions/9357/…。特に、「ここでの制限要因の1つは、データの量にあると思います。ほとんどの場合、データを固定パーティションに分割したくないので、CVです。」これは私の質問(おそらく私のデータの制限された性質(80の観測のみ)に固有のもの)で得られると思います。これらのケースでは分割しないように投票するようです?
Hendy

回答:


7

私の一般的な考え:

したがって、さまざまなモデルを評価するときは、モデルを調整したり、さまざまなタイプの前処理を試したりして、適切なモデルだと思うものが見つかるまで待ちます。リサンプリングは、そのプロセス中に正しい方向に導くのに役立ちます。

ただし、依然として過剰適合の可能性があり、これが発生する確率は、データ(および予測子)の量に大きく影響されます。データが少しある場合は、これについていくつかの方法を検討します。

  • すべてのデータポイントがモデルのパフォーマンスを大幅に向上させるため、すべてのデータをトレーニングに使用します。
  • 小さなテストセットは、過剰適合による全体的なエラーの最終チェックとして脇に置いておきます。小さいサンプルサイズでオーバーフィットする可能性は少なくありません。サンプルの数が増えると大きくなります。

私は2番目のキャンプに落ちますが、最初のキャンプはまったく間違っていません。

大量のデータがある場合、それはそれほど重要ではありません(イベントレートが小さい場合を除きます)。

あなたのために:

DOEがあります。デザインの種類は、質問への回答に役立ちます。設計点間を補間したり、これまでテストされていない設計点を予測したりしていますか?

1つの複製があります。ランダムフォレストがスレッジハンマーで釘を打っているように落ちてしまい、フィットしすぎてしまう可能性があります。SVMや(あえぎ)ニューラルネットワークのような、もっとスムーズなものを試してみます。

マックス


上記の更新を追加しました。私はかなり良い曲線を持っています(私はそれが主観的だと思いmethod = "svmRadial"ます)。を含む他のいくつかを評価したいmethod = neuralnetと思いますが、過去の試みでは、ニューラルネットワークは `set.seed()に非常に敏感であることがわかりました。つまり、1)入力/複数の応答の関係をよりよく理解し、2)最も可能性の高い設計空間で最良の推測を行って目的のプロパティを生成し、より一般的な新しいDOEをより典型的なDOEで実行できるようにします。試行する入力の最小/最大レベルの観点からの拡張/ショットガンアプローチ。
ヘンディ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.