機械学習

訓練データとテストデータの分割

機械学習のモデルに性能を評価するには、新しいデータに対して使用する必要がある。
そのためには、データセットを訓練データ(学習用)とテストデータ(検証用)とに分けます。

これを簡単に行う方法として、scikit-learnというライブラリにはデフォルトで備わっています。
具体的には、train_test_splitという関数が用意されているので、全体の70%のデータを訓練データに残りをテストデータに分割するといったことが容易にできます。

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
iris_dataset = load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris_dataset[‘data’], iris_dataset[‘target’], random_state=0, train_size=0.7)

train_test_split関数は、分割を行う前に擬似乱数を用いてデータセットをシャッフルしています。
random_stateはランダム値を固定して再現性を持たせる働きがあります。値は任意で問題ありません。