train_test_splitでtrain_sizeを指定しないとどんな割合でテストデータ作るのか?

train_sizeを指定しないと、75%25%みたい。

from sklearn.model_selection import  train_test_split as split
# 学習用データ,テスト用データ,学習用の正解ラベル, テスト用の正解ラベル = train_test_split(データ, データ正解ラベル,train_size=学習用データの割合,test_size=テスト用データの割合)
train_data, test_data, train_ans, test_ans = split(digits.data, digits.target)#train_sizeを指定しないと、75%25%みたい。
print(len(train_data)/len(digits.data), len(test_data)/len(digits.data))

sklearn.model_selection.train_test_split — scikit-learn 0.19.1 documentation

train_test_split の書き方

from sklearn.model_selection import train_test_split as split
x_train, x_test, y_train, y_test = split(iris.data,iris.target, train_size=0.85, test_size=0.15)

学習用データ,テスト用データ,学習用の正解ラベル, テスト用の正解ラベル = train_test_split(データ, データ正解ラベル,train_size=学習用データの割合,test_size=テスト用データの割合)

同時にシャッフルされる

ジェネレータで回したほうがメモリに優しい

from sklearn.model_selection import ShuffleSplit
ss = ShuffleSplit(train_size=0.6, test_size=0.4, random_state=0)#インスタンス作成
train_index, test_index = next(ss.split(X))#6対4でnumpy.ndarrayのindex番号が作成される。

random_stateは、0を与えるといつも同じ乱数を発生