Встречается на собеседованиях • сегодня

Как определить оптимальную глубину дерева в бустинге

Оптимальную глубину деревьев в бустинге (например, XGBoost, LightGBM) можно подобрать через кросс-валидацию и анализ метрик. Обычно начинают с небольшой глубины (3-6), так как бустинг хорошо работает с неглубокими деревьями (ансамбль компенсирует слабые модели).

Пример подбора через GridSearch в XGBoost:

python
from xgboost import XGBClassifier
from sklearn.model_selection import GridSearchCV

params = {
    'max_depth': [3, 5, 7, 9],
    'n_estimators': [100, 200]
}
model = XGBClassifier()
grid = GridSearchCV(model, params, cv=5, scoring='roc_auc')
grid.fit(X_train, y_train)
print(grid.best_params_)

Критерии выбора:

  • Слишком большая max_depth ведет к переобучению.
  • Слишком малая — к недообучению.
  • Проверяйте learning curves и OOB-ошибку.
  • В LightGBM можно использовать num_leaves вместо max_depth для более гибкого контроля.

Оптимальное значение часто лежит в диапазоне 3-8.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы