Chapter 50

トレーニングデータとテストデータの分割

poclabweb
poclabweb
2022.10.22に更新

1. トレーニングデータとテストデータの分割: train_test_split

説明変数を、fingerprintにして、目的変数をlogSの値にする。

X = df_fp
y = df['logS']

学習に使用するデータ(トレーニングデータ)と、作成したモデルの精度や性能を確認するためのテストデータに分割する。

  1. テストとトレーニングデータの割合の変更は、test_sizeのところの数字を変更する。この例では、test_size = 0.1なので10%がテストデータ、90%がトレーニングデータになる。

  2. テストとトレーニングデータはランダムに分割されるが、random_stateの数字を同じにすることで分割結果が固定化される。(ここの数字を同じにすることで同じ分割結果が得られ、数字を変えると違う分割結果になる。)

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.1, random_state = 10)

それぞれ、どのように分割されているかを確認してみる。

X_train = X_train.sort_index()
X_train
X_test = X_test.sort_index()
X_test
y_train = y_train.sort_index()
y_train
y_test = y_test.sort_index()
y_test