---
title: Деревья решений и случайный лес
questionDates:
  q-transfer-0044: '2026-10-01'
  q-transfer-0045: '2026-10-01'
seo:
  description: >-
    Тема «Деревья решений и случайный лес» для собеседования Data Scientist. Как
    строится дерево решений? Может ли дерево решений показывать вероятность?
  title: Деревья решений и случайный лес — Data Scientist
---

[Все темы Data Scientist](/prep/data-scientist)

Подтемы:

- [Дерево решений](#q-14bee738d69b8169be9bea4dea1214ed)
- [Случайный лес](#q-14bee738d69b81089c76df7c3f9b24f1)

## <strong>Как строится дерево решений?</strong> [#q-14bee738d69b8169be9bea4dea1214ed]

Дерево решений строится путем разбиения данных на подгруппы на основе значений признаков с целью минимизации некоторого критерия неопределенности (например, энтропии или критерия Джини). Процесс построения дерева можно описать следующим образом&#58;

1. <strong>Выбор признака для разбиения</strong>&#58; На каждом узле дерева
   выбирается признак, по которому данные будут разделены на две или более
   подгруппы. Этот выбор основывается на критерии разделения, таком как
   информационная энтропия или критерий Джини.

1. <strong>Выполнение разбиения</strong>&#58; Данные разбиваются на подгруппы на
   основе выбранного признака. Каждая подгруппа соответствует разным значениям
   выбранного признака.

1. Рекурсивное построение&#58; разбиения повторяются, пока не достигнута максимальная глубина, дальнейшее разбиение недопустимо или улучшение критерия слишком мало.

1. <strong>
     Определение класса (для задач классификации) или значения (для задач
     регрессии)
   </strong>
   &#58; В листовых узлах дерева определяется класс (для классификации) или
   значение (для регрессии), которое будет прогнозироваться для данных, попавших
   в данный лист.

:::note[Ссылки для изучения]

1. [Решающие деревья](https://education.yandex.ru/handbook/ml/article/reshayushchiye-derevya)
2. [Критерии разбиения дерева. ФКН ВШЭ. дистанционные занятия, с 11:22](https://www.youtube.com/watch?v=rIrkPyo6KSM&t=682s)

:::

---

## <strong>Может ли дерево решений показывать вероятность?</strong> [#q-14bee738d69b8161b485fc462c6e2420]

Да, дерево решений может показывать вероятность, но это зависит от того, как оно используется и какая методика используется для вычисления вероятности.

В некоторых случаях, особенно в задачах классификации, дерево решений может быть модифицировано для выдачи вероятностных оценок. Например, для бинарной классификации вероятность может быть рассчитана как доля положительных (или отрицательных) примеров в листовом узле, которому принадлежит наблюдение.

Стандартные реализации, например DecisionTreeClassifier в scikit-learn, предоставляют predict_proba. Вероятности вычисляются по долям классов в листе с учётом весов объектов. Калибровка может улучшить эти оценки, но не нужна для самого их получения.

:::note[Ссылки для изучения]

1. [Решающие деревья](https://education.yandex.ru/handbook/ml/article/reshayushchiye-derevya)
2. [Вероятностный ответ дерева. ФКН ВШЭ, с 21:01](https://www.youtube.com/watch?v=rIrkPyo6KSM&t=1261s)

:::

---

## <strong>Как получается ответ целевой переменной в дереве решений?</strong> [#q-14bee738d69b813c8b0af0d4d05dc0af]

В дереве решений ответ целевой переменной получается путем прохождения через структуру дерева от корня к листьям.

Каждый узел дерева содержит условие, которое проверяет значение одного из признаков данных. В зависимости от результата проверки условия данные направляются по одной из ветвей дерева к следующему узлу или листу. Этот процесс повторяется до тех пор, пока не будет достигнут листовой узел.

В листовом узле дерева содержится предсказание для целевой переменной. В задаче классификации это может быть конкретный класс, к которому относится наблюдение, а в задаче регрессии - числовое значение, предсказывающее целевую переменную для данного наблюдения.

:::note[Ссылки для изучения]

1. [Решающие деревья](https://education.yandex.ru/handbook/ml/article/reshayushchiye-derevya)
2. [Прогноз в листе дерева. ФКН ВШЭ, с 20:44](https://www.youtube.com/watch?v=rIrkPyo6KSM&t=1244s)

:::

---

## Что измеряет энтропия в дереве решений и как она используется при разбиении? [#q-14bee738d69b815eaacffb9ed95edda1]

В контексте деревьев решений, энтропия - это мера неопределенности в данных. Энтропия показывает, насколько хорошо данные разделены по целевой переменной&#58; чем меньше энтропия, тем более чистыми являются группы данных в узле.

Дерево решений стремится минимизировать энтропию или другие меры неопределенности (например, критерий Джини) в процессе построения. Это достигается путем разбиения данных на подгруппы таким образом, чтобы после разбиения неопределенность в данных уменьшалась. В результате построения дерева, узлы с низкой энтропией будут содержать более однородные данные, что делает прогнозы более надежными.

:::note[Ссылки для изучения]

1. [Решающие деревья](https://education.yandex.ru/handbook/ml/article/reshayushchiye-derevya)
2. [Энтропия как критерий разбиения. ФКН ВШЭ, с 31:11](https://www.youtube.com/watch?v=rIrkPyo6KSM&t=1871s)

:::

---

## <strong>Какая метрика оптимизируется в регрессионном дереве при выборе разбиения для нового узла?</strong> [#q-14bee738d69b8121a6afeca709bcd4f9]

При выборе разбиения для нового узла в регрессионном дереве обычно оптимизируется среднеквадратичная ошибка <code>&#40;MSE&#41;</code> или средняя абсолютная ошибка <code>&#40;MAE&#41;</code> на основе значений целевой переменной в подгруппах данных, полученных в результате разбиения.

Среднеквадратичная ошибка <code>&#40;MSE&#41;</code> оптимизируется, когда модель стремится минимизировать сумму квадратов отклонений между прогнозируемыми значениями и фактическими значениями целевой переменной.

Средняя абсолютная ошибка <code>&#40;MAE&#41;</code> оптимизируется, когда модель стремится минимизировать среднее абсолютное отклонение между прогнозируемыми значениями и фактическими значениями целевой переменной.

В процессе построения дерева решений выбирается разбиение, которое минимизирует значение выбранной метрики ошибки для данного узла, таким образом, что ошибка после разбиения будет наименьшей возможной.

:::note[Ссылки для изучения]

1. [Решающие деревья](https://education.yandex.ru/handbook/ml/article/reshayushchiye-derevya)
   :::

---

## <strong>За что отвечает</strong> <code>L2</code> <strong>регуляризация в дереве?</strong> [#q-14bee738d69b8146b2f2ed21819bfccc]

В дереве решений <code>L2</code> регуляризация, также известная как регуляризация Тихонова или регуляризация <code>Ridge</code>, обычно не применяется напрямую, как в линейной регрессии или в методах оптимизации с градиентным спуском.

Сложность дерева регулируют max_depth, min_samples_leaf, max_leaf_nodes и обрезкой. В бустингах, например XGBoost, L2-регуляризация может дополнительно штрафовать значения листьев.

:::note[Ссылки для изучения]

1. [Обычное дерево: ограничения роста и сложности](https://education.yandex.ru/handbook/ml/article/reshayushchiye-derevya)
1. [XGBoost: L2-штраф весов листьев и оптимальный ответ листа](https://habr.com/ru/articles/799725/)
   :::

---

## <strong>На каком условии останавливается построение дерева решений, другими словами, как определяется критерий завершения построения дерева?</strong> [#q-14bee738d69b81fe8febe369936c678b]

Построение дерева решений останавливается на основе различных критериев или условий, которые определяются заранее или в процессе построения модели. Некоторые из распространенных критериев останова включают&#58;

1. <strong>Глубина дерева</strong>&#58; Построение дерева останавливается, когда
   достигнута максимальная глубина дерева. Это предотвращает построение слишком
   сложных моделей, которые могут привести к переобучению.

1. <strong>Минимальное количество наблюдений в листе</strong>&#58; Построение
   дерева останавливается, когда количество наблюдений в листовом узле
   становится меньше заданного порогового значения. Это помогает предотвратить
   построение неподходящих узлов с недостаточным количеством данных для надежных
   прогнозов.

1. <strong>Минимальное уменьшение неопределенности</strong>&#58; Построение
   дерева может остановиться, если дальнейшее разделение узла не приводит к
   достаточному уменьшению неопределенности (например, энтропии или критерия
   Джини). Это помогает предотвратить лишние разбиения, которые не улучшают
   качество модели.

1. <strong>Количество узлов/листьев</strong>&#58; Можно также задать
   максимальное количество узлов или листьев в дереве. Это также может быть
   критерием останова для построения дерева.

:::note[Ссылки для изучения]

1. [Решающие деревья](https://education.yandex.ru/handbook/ml/article/reshayushchiye-derevya)
2. [Остановка построения дерева. ФКН ВШЭ, с 10:21](https://www.youtube.com/watch?v=rIrkPyo6KSM&t=621s)

:::

---

## <strong>Что будет с метрикой качества если убрать одно случайное дерево из случайного леса и бустинга?</strong> [#q-14bee738d69b81178e44e54601739ada]

Эффект зависит от числа деревьев, их вклада, данных и метрики. В большом случайном лесе удаление одного дерева часто мало меняет усреднённый прогноз. В бустинге деревья добавляются последовательно, поэтому удаление дерева, особенно раннего, может существенно изменить результат. Качество нужно измерить повторно.

:::note[Ссылки для изучения]

1. [Случайный лес: усреднение деревьев и корреляция прогнозов](https://education.yandex.ru/handbook/ml/article/ansambli-v-mashinnom-obuchenii)
1. [Бустинг: последовательные деревья и аддитивный итоговый прогноз](https://education.yandex.ru/handbook/ml/article/gradientnyj-busting)
   :::

---

## <strong>Что лежит в листьях дерева?</strong> [#q-14bee738d69b81ca9c04d957074fd03a]

В листьях дерева решений содержатся прогнозы или классы для наблюдений, которые дошли до данного листа. Каждый лист представляет собой конечный узел дерева, который определяет конечное решение или классификацию для соответствующего наблюдения.

:::note[Ссылки для изучения]

1. [Решающие деревья](https://education.yandex.ru/handbook/ml/article/reshayushchiye-derevya)
2. [Что хранится в листьях дерева. ФКН ВШЭ, с 6:03](https://www.youtube.com/watch?v=rIrkPyo6KSM&t=363s)

:::

---

## Чем pre-pruning отличается от post-pruning дерева? [#q-transfer-0044]

Pre-pruning ограничивает дерево во время роста через `max_depth`, `min_samples_leaf`, минимальный gain и похожие параметры. Это дешевле, но раннее локальное решение может не дать построить полезную ветвь. Post-pruning сначала растит большое дерево, затем удаляет ветви по критерию сложности, например cost-complexity pruning. Силу pruning выбирают на validation или кросс-валидации. Более сильное ограничение повышает bias и обычно снижает variance; оптимум зависит от шума и объема данных.

:::note[Ссылки для изучения]

1. [Обрезка дерева: ранняя остановка роста и последующее cost-complexity pruning](https://deepmachinelearning.ru/docs/Machine-learning/Decision-trees/Tree-pruning)
   :::

---

## Почему жадное построение дерева не гарантирует глобально лучшую структуру? [#q-transfer-0045]

На каждом узле дерево выбирает split с лучшим локальным уменьшением impurity. Оно не перебирает все возможные будущие последовательности разбиений и не возвращается, чтобы заменить ранний split, если позже обнаружился лучший общий вариант. Полный поиск по структурам деревьев комбинаторно дорог. Поэтому результат зависит от локальных решений, ограничений и данных. Pruning и ансамбли улучшают обобщение, но не превращают жадное обучение одного дерева в доказанно глобальную оптимизацию.

:::note[Ссылки для изучения]

1. [Жадное построение дерева: локальный выбор split и неоптимальность структуры](https://education.yandex.ru/handbook/ml/article/reshayushchiye-derevya)
   :::

---

## <strong>Что такое случайный лес, как строится?</strong> [#q-14bee738d69b81089c76df7c3f9b24f1]

Случайный лес - это ансамблевый метод машинного обучения, основанный на комбинации нескольких деревьев решений. Он использует метод бэггинга (bootstrap aggregating), чтобы построить ансамбль деревьев решений.

Вот основные шаги построения случайного леса&#58;

1. <strong>Выбор случайной подвыборки данных</strong>&#58; Из обучающего набора
   данных случайным образом выбирается подвыборка данных с возвращением. Это
   означает, что одно и то же наблюдение может быть выбрано несколько раз, а
   другие наблюдения могут быть пропущены.

1. <strong>Построение деревьев решений</strong>&#58; Для каждой случайной
   подвыборки данных строится дерево решений. При построении каждого дерева
   решений на каждом узле выбирается случайное подмножество признаков из всех
   доступных признаков. Это помогает сделать деревья более разнообразными и
   уменьшает корреляцию между деревьями.

1. <strong>Обучение деревьев решений</strong>&#58; Для каждой случайной
   подвыборки данных строится дерево решений с использованием выбранных
   признаков. Каждое дерево строится до тех пор, пока не будет выполнено
   какое-то критерий останова (например, достигнута максимальная глубина дерева
   или достигнуто минимальное количество наблюдений в листе).

1. <strong>Формирование ансамбля</strong>&#58; После построения всех деревьев
   решений их результаты комбинируются для получения окончательного прогноза. В
   задачах классификации результаты обычно усредняются или используется
   голосование большинства, а в задачах регрессии результаты усредняются.

:::note[Ссылки для изучения]

1. [Ансамбли в машинном обучении](https://education.yandex.ru/handbook/ml/article/ansambli-v-mashinnom-obuchenii)
2. [Случайный лес. ФКН ВШЭ. дистанционные занятия, с 4:52](https://www.youtube.com/watch?v=zz0XxgTcBJ0&t=292s)

:::

---

## <strong>Каковы плюсы и минусы использования метода случайного леса?</strong> [#q-14bee738d69b816e8117ca31656f4d6f]

🟢 Плюсы использования метода случайного леса&#58;

1. <strong>Устойчивость к переобучению</strong>&#58; Благодаря случайному выбору
   подмножества данных и признаков для построения каждого дерева, случайный лес
   склонен к более устойчивому обобщению на новых данных и предотвращает
   переобучение.

1. <strong>Хорошая обобщающая способность</strong>&#58; Случайный лес часто
   демонстрирует хорошую производительность на различных типах данных и задачах,
   включая как классификацию, так и регрессию.

1. <strong>Способность к обработке больших объемов данных</strong>&#58;
   Случайный лес способен обрабатывать большие объемы данных эффективно и
   параллельно благодаря своей схеме построения.

🔴 Минусы использования метода случайного леса&#58;

1. Затраты при большом числе деревьев&#58; растут память и время вычислений. Добавление деревьев обычно стабилизирует усреднение; переобучение леса больше связано с данными и сложностью отдельных деревьев.

1. <strong>Сложность интерпретации</strong>&#58; Из-за использования большого
   количества деревьев и случайного выбора признаков для каждого дерева,
   интерпретация случайного леса может быть сложной по сравнению с более
   простыми моделями.

1. <strong>Временные затраты на обучение</strong>&#58; Построение большого
   количества деревьев в случайном лесу может потребовать значительных
   вычислительных ресурсов и времени для обучения модели.

:::note[Ссылки для изучения]

1. [Ансамбли в машинном обучении](https://education.yandex.ru/handbook/ml/article/ansambli-v-mashinnom-obuchenii)
   :::

---

## <strong>Какой глубины деревья используются в методе случайного леса?</strong> [#q-14bee738d69b817a85dfd228b77df8d3]

В случайном лесе часто используют глубокие деревья, в том числе без ограничения max_depth. Разнообразие деревьев и усреднение уменьшают разброс прогнозов. Глубину и минимальный размер листа подбирают по валидации с учётом качества и ресурсов.

:::note[Ссылки для изучения]

1. [Ансамбли в машинном обучении](https://education.yandex.ru/handbook/ml/article/ansambli-v-mashinnom-obuchenii)
   :::

---

## Как добавление дерева влияет на переобучение случайного леса и градиентного бустинга? [#q-14bee738d69b81288bb7d7286241c20f]

Добавление дерева по-разному влияет на случайный лес и градиентный бустинг.

<strong>Случайный лес</strong> <code>&#40;Random Forest&#41;</code>
<strong>&#58;</strong> Поскольку случайный лес строится на основе ансамбля
деревьев решений, добавление нового дерева улучшает стабильность модели и
снижает ее склонность к переобучению. Каждое новое дерево вносит свой уникальный
вклад в ансамбль, усиливая обобщающую способность модели.

Градиентный бустинг&#58; новое дерево улучшает соответствие обучающим данным, но после некоторого числа итераций качество на новых данных может ухудшаться. Число итераций выбирают по валидации или ранней остановке.

:::note[Ссылки для изучения]

1. [Ансамбли в машинном обучении](https://education.yandex.ru/handbook/ml/article/ansambli-v-mashinnom-obuchenii)
2. [Случайный лес и риск переобучения. ФКН ВШЭ, с 22:59](https://www.youtube.com/watch?v=zz0XxgTcBJ0&t=1379s)

:::

---

## Почему случайный лес, обученный на положительных значениях, выдаёт отрицательные прогнозы и как это проверить? [#q-14bee738d69b8103b87cc06c1bbf7732]

Если речь о положительных целевых значениях y, обычный RandomForestRegressor с усреднением не должен выдавать отрицательный прогноз&#58; значения листьев и их среднее остаются в диапазоне обучающих целей. Положительность только входных признаков X такого ограничения не даёт. Проверьте следующие причины&#58;

1. <strong>Проблемы в данных</strong>&#58; Возможно, в исходных данных
   содержатся ошибки или аномалии, которые приводят к неправильному обучению
   модели.

1. Проверьте преобразования целевой переменной и обратное преобразование прогноза. Само переобучение не выводит среднее положительных целей за пределы их диапазона.

1. <strong>Неуместное представление данных</strong>&#58; Может потребоваться
   изменить представление данных или применить преобразования, чтобы
   гарантировать положительные результаты.

1. Проверьте тип модели и способ объединения прогнозов&#58; утверждение относится к обычному лесу с усреднением и неотрицательными весами.

1. <strong>Ошибка в коде или реализации модели</strong>&#58; Возможно, есть
   ошибка в коде или реализации модели, которая приводит к неправильным выводам.

:::note[Ссылки для изучения]

1. [Регрессионное дерево: среднее или медиана целевых значений в листе](https://education.yandex.ru/handbook/ml/article/reshayushchiye-derevya)
1. [Случайный лес: усреднение прогнозов деревьев](https://education.yandex.ru/handbook/ml/article/ansambli-v-mashinnom-obuchenii)
   :::

---

## <strong>Какие изменения происходят при добавлении дерева в случайный лес?</strong> [#q-14bee738d69b8182bfd5e41cbb18e88e]

При добавлении дерева в случайный лес происходят следующие изменения&#58;

1. <strong>Увеличение разнообразия</strong>&#58; Добавление нового дерева
   увеличивает разнообразие модели, так как каждое дерево строится на основе
   случайной подвыборки данных и случайного подмножества признаков.

1. <strong>Усиление стабильности</strong>&#58; Ансамбль деревьев становится
   более стабильным и устойчивым к переобучению, поскольку модель усредняет
   прогнозы множества деревьев.

1. <strong>Улучшение обобщающей способности</strong>&#58; Поскольку случайный
   лес усредняет прогнозы отдельных деревьев, добавление нового дерева может
   улучшить обобщающую способность модели на новых данных.

1. Рост затрат&#58; хранение нового дерева и вычисление его прогноза требуют дополнительной памяти и времени.

:::note[Ссылки для изучения]

1. [Ансамбли в машинном обучении](https://education.yandex.ru/handbook/ml/article/ansambli-v-mashinnom-obuchenii)
2. [Усреднение деревьев в композиции. ФКН ВШЭ, с 1:47](https://www.youtube.com/watch?v=zz0XxgTcBJ0&t=107s)

:::

---

## <strong>Какие изменения происходят при увеличении глубины деревьев в случайном лесе?</strong> [#q-14bee738d69b81899d05dd74e8fe8d74]

При увеличении глубины деревьев в случайном лесе происходят следующие изменения&#58;

1. <strong>Увеличение сложности модели</strong>&#58; Увеличение глубины деревьев
   позволяет модели захватывать более сложные взаимосвязи между признаками и
   целевой переменной.

1. <strong>Потенциальное улучшение точности</strong>&#58; Глубокие деревья
   способны делать более точные прогнозы на обучающих данных за счет лучшего
   разделения их на классы или категории.

1. <strong>Повышение риска переобучения</strong>&#58; Однако увеличение глубины
   деревьев может также увеличить риск переобучения модели, особенно если данных
   недостаточно или отсутствуют методы регуляризации.

1. <strong>Увеличение вычислительной сложности</strong>&#58; Более глубокие
   деревья требуют больше вычислительных ресурсов для обучения и
   прогнозирования, что может повлиять на производительность модели.

:::note[Ссылки для изучения]

1. [Ансамбли в машинном обучении](https://education.yandex.ru/handbook/ml/article/ansambli-v-mashinnom-obuchenii)
2. [Глубина деревьев в случайном лесе. ФКН ВШЭ, с 3:41](https://www.youtube.com/watch?v=zz0XxgTcBJ0&t=221s)

:::

---

## <strong>Как происходит подбор подмножества признаков для дерева случайного леса - один раз перед построением дерева или на каждом разбиении?</strong> [#q-14bee738d69b812ea2b9cb3671640e71]

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

:::note[Ссылки для изучения]

1. [Ансамбли в машинном обучении](https://education.yandex.ru/handbook/ml/article/ansambli-v-mashinnom-obuchenii)
2. [Случайное подмножество признаков в каждой вершине. ФКН ВШЭ, с 5:23](https://www.youtube.com/watch?v=zz0XxgTcBJ0&t=323s)

:::
