Введение в валидацию модели

Валидация моделей на Python

Kasey Jones

Data Scientist

Что такое валидация модели?

Валидация модели включает:

  • Проверку работы модели на новых данных
  • Оценку производительности на отложенных выборках
  • Выбор лучшей модели, параметров и метрик точности
  • Достижение наилучшей точности для имеющихся данных
Валидация моделей на Python

Обзор моделирования в scikit-learn

Основные шаги моделирования:

model = RandomForestRegressor(n_estimators=500, random_state=1111)

model.fit(X=X_train, y=y_train)
RandomForestRegressor(bootstrap=True, criterion='mse', max_depth=None,
           max_features='auto', max_leaf_nodes=None,
           min_impurity_decrease=0.0, min_impurity_split=None,
           min_samples_leaf=1, min_samples_split=2,
           min_weight_fraction_leaf=0.0, n_estimators=500, n_jobs=1,
           oob_score=False, random_state=1111, verbose=0, warm_start=False)
Валидация моделей на Python

Обзор моделирования: продолжение

predictions = model.predict(X_test)

print("{0:.2f}".format(mae(y_true=y_test, y_pred=predictions)))
10.84

Формула средней абсолютной ошибки

$$ \frac{\sum_{i=1}^{n} |y_i - \hat{y}_i|}{n} $$

Валидация моделей на Python

Необходимые предварительные курсы

Валидация моделей на Python

На сайте Fivethirtyeight представлено несколько наборов данных, в том числе рейтинг популярности хэллоуинских конфет. Для каждой конфеты указан процент побед в парных сравнениях — от 0 до 100%.

Валидация моделей на Python

Знакомые и новые данные

Обучающие данные = известные данные

model = RandomForestRegressor(n_estimators=500, random_state=1111)
model.fit(X_train, y_train)
train_predictions = model.predict(X_train)

Тестовые данные = новые данные

model = RandomForestRegressor(n_estimators=500, random_state=1111)
model.fit(X_train, y_train)
test_predictions = model.predict(X_test)
Валидация моделей на Python

Давайте потренируемся!

Валидация моделей на Python

Preparing Video For Download...