学習・テスト・検証データセットの作成

Python によるモデル検証

Kasey Jones

Data Scientist

従来の学習/テスト分割

  • 既知データ(学習に使用)
  • 未知データ(学習に未使用)

データ分割は、全データの一部を学習用、より小さい一部をテスト用に使います。

Python によるモデル検証

データセットの定義と比率

データセット 定義
Train モデル学習に用いるデータサンプル
Test(ホールドアウト) 性能評価に用いるデータサンプル

比率の例

  • 80:20
  • 90:10(データが少ない場合)
  • 70:30(計算コストが高い場合)
Python によるモデル検証

X と y データセット

import pandas as pd

tic_tac_toe = pd.read_csv("tic-tac-toe.csv")
X = pd.get_dummies(tic_tac_toe.iloc[:,0:9])
y = tic_tac_toe.iloc[:, 9]

ダミー変数を扱うPythonコース:

Python によるモデル検証

ホールドアウトサンプルの作成

X_train, X_test, y_train, y_test  =\
    train_test_split(X, y, test_size=0.2, random_state=1111)

主な引数:

  • test_size
  • train_size
  • random_state
Python によるモデル検証

事前テスト用のデータセット?

異なるパラメータを試すときは?

  • 木の数 100 と 1000 の比較
Python によるモデル検証

モデルのパラメータを試すには、データを3つに分割します。学習用、検証用、テスト用。

Python によるモデル検証

学習・検証・テストの続き

X_temp, X_test, y_temp, y_test  =\
    train_test_split(X, y, test_size=0.2, random_state=1111)
X_train, X_val, y_train, y_val =\
    train_test_split(X_temp, y_temp, test_size=0.25, random_state=11111)
Python によるモデル検証

ホールドアウトの出番です

Python によるモデル検証

Preparing Video For Download...