質問: train_test_split(dataset, train_size=0.8) ``` データセットを訓練データとテストデータに分割はしてくれるのですが、 クラス数が多い(例えば100クラス)場合だと、 訓練データとテストデータの各々のクラス数が異なる時があります。 例えば訓練データに含まれるクラス数は100である一方、 テストデータのそれは98となってしまうことがあります。 train_test_splitでは、ランダムシャッフルしてsplitしているだけなので、 クラスに含まれるデータ数がアンバランスな場合、このようなことが起きると思われます。 クラス数もちゃんと保つように、データを分割するには、 どのようにすれば良いでしょうか? よろしくお願いします。
回答: クラス比例を保ちながら分割するには`StratifiedShuffleSplit`を使用して下さい。