Scikit-learn のtrain_test_split()メソッドが次のシナリオでどのように動作するのか興味があります。
架空のデータセット:
id, count, size
1, 4, 8
2, 5, 9
3, 6, 0
このように2つの別々のセットに分割するとします(両方に「id」を保持します):
id, count | id, size
1, 4 | 1, 8
2, 5 | 2, 9
3, 6 | 3, 0
そしてtrain_test_split()
、同じrandom_state
で両方を分割します0
。参照として「id」を使用すると、両方の順序は同じになりますか? (同じデータセットをシャッフルしているが、異なる部分が省略されているため)
私は2つのモデルを持っているので、これがどのように機能するかについて興味があります. 最初のモデルはデータセットでトレーニングされ、その結果がデータセットに追加され、その一部が 2 番目のモデルのトレーニングに使用されます。
これを行う場合、 2 番目のモデルの一般化をテストするときに、最初のモデルのトレーニングにも使用されたデータ ポイントを使用しないことが重要です。これは、データが「以前に見られた」ものであり、モデルがそれをどうするかを知っているためです。そのため、新しいデータへの一般化をテストしていません。
train_test_split()
テスト結果の汚染を防ぐために、最初のアルゴリズムをトレーニングするために使用されたデータを追跡する必要がないため、同じようにシャッフルするのは素晴らしいことです。