train_test_split関数【sklearn】
説明:学習データと教師データを訓練用と検証用に分割するために利用される関数
書式:
sklearn.model_selection.train_test_split( )
引数:
学習データと教師データが格納されたオブジェクト。配列、テンソル、リストなどに対応している。
train_size:検証用データの割合
戻り値:学習データと教師データを分割して以下のように返す。
訓練用
学習データ(1番目)
教師データ(3番目)
検証用
学習データ(2番目)
教師データ(4番目)
ここではリストで用意したデータを分割する例を示す。この場合、
X:特徴量は2個、サンプル数は5件の学習データ
y:教師データ
と考える。
code:tts1.py
from sklearn.model_selection import train_test_split
X = 1, -1], 2, -2, 3, -3, 4, -4, [5, -5
y = 10, 20, 30, 40, 50
X_train, X_test, y_train, y_test = train_test_split(X, y)
print('# 個別に表示 ------------------')
print('学習データ(訓練用)')
print(X_train)
print('学習データ(検証用)')
print(X_test)
print('教師データ(訓練用)')
print(y_train)
print('教師データ(検証用)')
print(y_test)
print('# わかりやすく並べて表示 ------------------')
print('訓練用')
for X_show, y_show in zip(X_train, y_train):
print(X_show, y_show)
print('検証用')
for X_show, y_show in zip(X_test, y_test):
print(X_show, y_show)
参考:zip関数【builtin】
このやり方の場合、生成されるデータ列はシャッフルされ、実行する度に異なる並びとなる。