Skapa tränings-, test- och valideringsdatamängder

Modellvalidering i Python

Kasey Jones

Data Scientist

Traditionell tränings-/testuppdelning

  • Sedd data (används för träning)
  • Osedd data (ej tillgänglig för träning)

Uppdelning av data innebär att en del av all tillgänglig data används för träning och en mindre del för en testdatamängd.

Modellvalidering i Python

Definitioner och förhållanden för datamängder

Datamängd Definition
Träning Det urval av data som används vid modellträning
Test (hållet urval) Det urval av data som används för att utvärdera modellen

Exempel på förhållanden

  • 80:20
  • 90:10 (används när data är begränsad)
  • 70:30 (används när modellen är beräkningstung)
Modellvalidering i Python

Datamängderna X och 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-kurser om dummyvariabler:

Modellvalidering i Python

Skapa hållna urval

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

Parametrar:

  • test_size
  • train_size
  • random_state
Modellvalidering i Python

Datamängd för preliminär testning?

Vad gör vi när vi testar olika modellparametrar?

  • 100 kontra 1 000 träd
Modellvalidering i Python

För att testa modellparametrar behöver vi dela upp tillgänglig data i tre delar: en för träning, en för validering och en för testning.

Modellvalidering i Python

Träning, validering och test – fortsättning

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)
Modellvalidering i Python

Nu kör vi en övning!

Modellvalidering i Python

Preparing Video For Download...