Статья Автор: Деникина Н.В., Деникин А.В.

Предотвращение переобучения

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

Признаки переобученного дерева:

  • Очень глубокое (много уровней)
  • Много листьев с одним примером
  • 100% точность на обучении, но плохо на тесте

Методы борьбы:

1. Ограничение глубины (max_depth)

if depth >= self.max_depth:
    return create_leaf()

2. Минимум примеров для разделения (min_samples_split)

if len(samples) < min_samples_split:
    return create_leaf()

3. Минимум примеров в листе (min_samples_leaf)

if len(left_samples) < min_samples_leaf or 
   len(right_samples) < min_samples_leaf:
    return create_leaf()

4. Минимальная информационная выгода

if information_gain < min_gain:
    return create_leaf()
Печать