2017-04-25 5 views
-1

私は比較的新しいPythonのデータサイエンスで、データサイエンスに関するいくつかの競争を模索していましたが、「トレーニングデータセット」と「テストデータセット」と混同しています。いくつかのプロジェクトは両方を統合し、別のプロジェクトは分離しています。 2つのデータセットの背後にある根拠は何ですか?どんな助言も役に立ちます。データ科学のデータとテストデータを

+0

https://stats.stackexchange.com/questions/19048/what-is-the-difference-between-test-set-and-validation-set – languitar

答えて

1

"トレーニングデータ"と "テストデータ"は、分析したいデータのサブセットを指します。教師付き機械学習アルゴリズムを使用してデータに何かを(たとえば、データポイントをクラスターに分類するために)使用している場合は、アルゴリズムを「訓練」する必要があります。

教師付き機械学習アルゴリズムのいくつかの例には、サポートベクターマシン(SVM)と線形回帰があります。それらを使用して、多くの次元を持つデータを分類またはクラスタリングすることができ、類似したデータポイントをまとめることができます。

これらのアルゴリズムは、「テストセット」で使用される前に、分析されるデータのサブセット(トレーニングセット)で訓練する必要があります。本質的に、このトレーニングは、人間が訓練しているのと同じように、新しいデータを提示するための一般的な解決策を推論するアルゴリズムをアルゴリズムに提供します。

希望すると便利です。

+0

本当に素晴らしい説明、最後の1つの質問、なぜいくつかのモデルの人々合併の訓練とテストのデータといくつかの彼らは別々に保持されます。あなたの助けに感謝。 – iahmed

+0

私の知る限り、あなたのテストとトレーニングのデータは、常に別々に保たれるべきです。その理由は、アルゴリズムを訓練するとき、「未知」であると思われるデータを知らなくてはならないからです。トレーニングセットにテストセットの要素が含まれている場合、そのテストセットは汚染されています。 –

0

データセットは行のリストであり、トレーニングセグメントとテストセグメントに分割できます。これが行われる理由は、コードのトレーニングプロセスで使用されるデータの行間を明確に分離することです(オブジェクトを学習するために赤ちゃんを「訓練」するために使用するフラッシュカードのように考える) (あなたが物を学ぶために赤ちゃんをテストしているときに)使用されています。アルゴリズムがどのくらいうまく実行されたかについての正確なスコアを得るために、それらを別々にしたいとします(たとえば、テスト時に赤ちゃんが9/10の正解を得た場合)。訓練の行とtestinrowsを混在させた場合、赤ちゃんがトレーニング結果を記憶したかどうか、実際に9/10の新しい画像を認識する方法を実際に知っているかどうかはわかりません。

通常、データセットはコードの実行中に無作為に行を選択することでトレーニングとテストセットをランダムに選択するため、1セットとして与えられます。そうすれば、トレーニングを数回、テストをさまざまな回数実行し、平均を取ることができます。例えば、赤ちゃんは最初に9/10、次は6/10、最後は7/10になるかもしれません。平均精度は73.3%になります。これは一度試してみるよりも良い表現です(これは完全に正確ではありません)。

0

列車のデータセットは、モデルのトレーニング用であり、訓練を受けた後、訓練されたモデルの精度はどのようにチェックされますか?そのためには、テストデータセットを使用します。通常、利用可能なデータをトレーニング用に1つとテスト用に2つに分割します。

関連する問題