質問: train_test_split(digits.data, digits.target) このように書けるのですがなぜ訓練データとテストデータに分けるだけなのに4つに分けているのでしょうか? 最近ディープラーニングについて勉強したばかりでこのことがよく分からず質問しました。 よろしくお願いします。
回答: `digits.data` は特徴量データです。 `digits.target` は目的変数(教師データ=模範解答)です。 特徴量データと目的変数の並び順は一致していて、特徴量1つめのラベル(=目的変数=教師データ)は1つめに入ってます。つまり `digits.data[0]` のラベルが `digits.target[0]` ということになります。 特徴量を訓練データとテストデータに分けたら、同じようにラベルも訓練データとテストデータに分ける必要があります。 `digits.data` を2つに分けて、この分け方と同じ分け方で `digits.target` も2つに分けると言うことです。このため、結果は4つ得られます。 ``` 特徴量訓練データ, 特徴量テストデータ, ラベル訓練データ, ラベルテストデータ = train_test_split(特徴量データ, ラベルデータ) ``` こんなイメージです。