Train-, test- en validatiesets maken

Modelvalidatie in Python

Kasey Jones

Data Scientist

Traditionele train/test-split

  • Geziene data (gebruikt voor training)
  • Ongeziene data (niet gebruikt voor training)

Splitsen betekent: een deel van alle data voor training, en een kleiner deel voor testen.

Modelvalidatie in Python

Datasetdefinities en verhoudingen

Dataset Definitie
Train De data die wordt gebruikt om modellen te fitten
Test (holdout-sample) De data om modelprestatie te beoordelen

Voorbeeldverhoudingen

  • 80:20
  • 90:10 (bij weinig data)
  • 70:30 (bij dure modellen)
Modelvalidatie in Python

De X- en y-datasets

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-cursussen over dummyvariabelen:

Modelvalidatie in Python

Holdout-samples maken

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

Parameters:

  • test_size
  • train_size
  • random_state
Modelvalidatie in Python

Dataset voor voorlopige tests?

Wat doen we bij het testen van verschillende modelparameters?

  • 100 versus 1000 bomen
Modelvalidatie in Python

Om modelparameters te testen, splitsen we de data in drie delen: trainen, valideren en testen.

Modelvalidatie in Python

Train, validatie, test (vervolg)

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)
Modelvalidatie in Python

Tijd voor holdout

Modelvalidatie in Python

Preparing Video For Download...