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

Что такое прунинг деревьев

Прунинг (англ. pruning) — это техника уменьшения размера дерева решений для предотвращения переобучения. Она удаляет ветви, которые дают мало полезной информации или увеличивают ошибку на валидационной выборке.

Виды прунинга:

  1. Пре-прунинг — останавливает рост дерева до полного построения (например, ограничивая глубину).
  2. Пост-прунинг — сначала строится полное дерево, затем удаляются ненужные ветви.

Пример с sklearn (пост-прунинг):

python
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split

X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.3)
clf = DecisionTreeClassifier(max_depth=10)  # пре-прунинг
clf.fit(X_train, y_train)

# Пост-прунинг через ccp_alpha (стоимость сложности)
path = clf.cost_complexity_pruning_path(X_train, y_train)
ccp_alphas = path.ccp_alphas
pruned_clf = DecisionTreeClassifier(ccp_alpha=ccp_alphas[-2])
pruned_clf.fit(X_train, y_train)

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

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

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

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

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