Компромисс между смещением и дисперсией

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

Kasey Jones

Data Scientist

Дисперсия

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

Переобученные модели (высокая дисперсия)

Переобучение происходит, когда предсказания слишком точно повторяют обучающие данные. Если все предсказания точно совпадают с реальными значениями на диаграмме рассеяния — скорее всего, модель переобучена.

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

Смещение

  • Смещение: неспособность найти зависимость между данными и откликом
    • Высокая ошибка на обучении и тесте
    • Возникает при недообучении модели
Валидация моделей на Python

Недообученные модели (высокое смещение)

Недообучение происходит, когда между предсказываемой переменной и предикторами в модели есть зависимость, но модель не смогла её уловить.

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

Оптимальная производительность

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

Параметры, влияющие на переобучение и недообучение

rfc = RandomForestClassifier(n_estimators=100, max_depth=4)
rfc.fit(X_train, y_train)

print("Training: {0:.2f}".format(accuracy_score(y_train, train_predictions)))
Training: .84
print("Testing: {0:.2f}".format(accuracy_score(y_test, test_predictions)))
Testing: .77
Валидация моделей на Python
rfc = RandomForestClassifier(n_estimators=100, max_depth=14)
rfc.fit(X_train, y_train)

print("Training: {0:.2f}".format(accuracy_score(y_train, train_predictions)))
Training: 1.0
print("Testing: {0:.2f}".format(accuracy_score(y_test, test_predictions)))
Testing: .83
Валидация моделей на Python
rfc = RandomForestClassifier(n_estimators=100, max_depth=10)
rfc.fit(X_train, y_train)

print("Training: {0:.2f}".format(accuracy_score(y_train, train_predictions)))
Training: .89
print("Testing: {0:.2f}".format(accuracy_score(y_test, test_predictions)))
Testing: .86
Валидация моделей на Python

Помните: только вы можете предотвратить переобучение!

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

Preparing Video For Download...