2012-02-17 4 views
1

私の問題は次のとおりです。私は6つのデータセット(異なる日から収集)を持っています。オーバーフィットを回避し、新しいデータを適切に予測するためには、最適なツリー深度パラメータを見つける必要があります。トレーニング/検証/テストデータの場合でも決定木のオーバーフィット

私の最初の試みでは、各データセットをトレーニング/検証/テストに50%/ 25%/ 25%で分割し、それらを3つの大きなファイルに統合しました。私は精度と木の深さのグラフを作成し、大きなトレーニングセットを使って訓練し、大きな妥当性検証セットから正確さを計算しました。しかし、木の深さが増え、決して落ちないように、検証セットの精度が向上し続けていることに気付きました!

精度は約20%で約99%に達しました。テストセットの精度も約99%でした。私はデータの知識に基づいて、あまりにもフィットしなければならないと仮定しました。私はデータセットの1つを削除してこれを確認し、残りの5つのデータセットを上記と同じ手順でトレーニングし、トレーニング/検証/テストに分割し、20の深さでトレーニングしました。私が放棄したデータセットは、非常に貧弱な結果をもたらしました。精度は低い50%です。

私のデータセットには、その時系列的性質のために多くの「反復的な」データがあります。データセットの25~50%をサンプリングすることはおそらく100%をサンプリングすることと等価であるため、オーバーフィットとなる。私は、6つのデータセットをランダムにシャッフルし、3/3を介してトレーニング/検証に分割し、20回繰り返し、結果を平均して最適なツリーの深さを見つけ出すという、別の戦略を試すことにしました。私はまだ結果を待っている、数日後に完了する必要があります...

私の質問は(健全な方法ですか?他の種類の面白いのデータを知っている必要がありますか?私のデータセットには、私がどこでも言及したような「つかまえ」があるようです。

+0

ツリーの最大高さではなく、リーフあたりのサンプル数を最小に設定する方がよいでしょう。 – usr

答えて

1

問題は非常に微妙だったことが分かります。短いストーリー、データをサンプリングして(アンバランスなデータセットの場合)、クロスバリデーションを行わないでください!

ロングストーリー。私は不均衡なデータセットを持っていました。そこでは、陽性よりも陰性のサンプルが約7〜10倍になりました。私の選択は、重複を介して陽性をサンプリングするか、陰性をサンプリングするかのいずれかであった。私はサンプリングを行った。これは、クロスバリデーション中に、各フォールドが、元のポジティブサンプルのすべてをピックアップし、ポジティブサンプルをオーバーフィットする可能性が非常に高いことを意味します。私は今、ネガティブサンプルをダウンサンプリングし、クロスバリデーションを数回行い、データをシャッフルします。今働こうとしているようだ。

関連する問題