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を与えるといつも同じ乱数を発生