Створення тренувального, тестового та валідаційного наборів даних

Валідація моделей у Python

Kasey Jones

Data Scientist

Традиційне розбиття train/test

  • Бачені дані (використовуються для навчання)
  • Небачені дані (недоступні для навчання)

Розбиття даних означає використання частини доступних даних для навчання та меншої частини — для тестування.

Валідація моделей у Python

Визначення наборів і співвідношення

Набір даних Визначення
Train Вибірка даних, яку використовують для навчання моделей
Test (holdout-вибірка) Вибірка даних для оцінювання якості моделі

Приклади співвідношень

  • 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 про «dummy»-змінні:

Валідація моделей у Python

Створення holdout-вибірок

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

Щоб тестувати параметри моделі, потрібно розбити дані на три частини: для навчання, для валідації та для тестування.

Валідація моделей у Python

Train, validation, test: продовження

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

Час для holdout-методу

Валідація моделей у Python

Preparing Video For Download...