Перейти к содержанию

Деревья решений и случайные леса (Decision Trees and Random Forests)

Начало урока

Деревья решений и случайные леса (Decision Trees and Random Forests)

Дерево решений (decision tree) — это машина, которая учит блок-схему из вопросов «да/нет» прямо на ваших данных. Случайный лес (random forest) — это целая толпа таких блок-схем, которые голосуют вместе. В этом уроке вы построите дерево вручную, посмотрите, как оно принимает решение, точно поймёте, как оно выбирает свои вопросы, и увидите, почему толпа деревьев побеждает одно дерево.

Главная идея

Представьте продавщицу в Оше, которая решает, купит ли вошедший человек дорогой телефон. Она не решает уравнения в уме. Она задаёт небольшие вопросы: «Этот человек молодой или пожилой? Похоже ли, что у него есть деньги на траты?» Каждый ответ ведёт её по своему мысленному пути, и в конце пути она делает предположение: купит или не купит.

Дерево решений — это именно это, записанное в виде схемы и выученное автоматически по прошлым данным. Это одна из самых понятных для человека моделей во всём машинном обучении: её можно буквально распечатать и следовать по стрелкам. Случайный лес берёт много таких деревьев, каждое чуть отличается от других, и позволяет им голосовать. Голосование обычно точнее и намного стабильнее, чем любое отдельное дерево.

Одно предложение для запоминания: дерево решений разбивает данные на всё более чистые группы, задавая на каждом шаге самый полезный вопрос; случайный лес усредняет много деревьев, чтобы взаимно погасить их отдельные ошибки.
Ваши учебные цели
  • Читать дерево решений как блок-схему и проследить один пример от корня (root) вниз до листа (leaf).
  • Объяснить, как дерево выбирает свои вопросы, делая группы чище, и вычислить простую примесь Джини (Gini impurity) вручную.
  • Понять глубину (depth), листья и почему неограниченное дерево запоминает (переобучается на, overfits) обучающие данные.
  • Перечислить реальные сильные стороны (не нужно масштабирование, смешанные признаки, читаемость) и слабые стороны (нестабильность, переобучение) одного дерева.
  • Объяснить, как случайный лес использует случайность и голосование, чтобы исправить эти слабости, и читать его важность признаков (feature importance).
  • Решать, когда выбирать деревья/леса, а когда — линейную модель, и писать код на sklearn для обоих.

Продолжите этот урок на YourAIZone

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

В полном уроке

  • Объяснение целиком
  • Разобранные примеры
  • Частые ошибки и как их избежать
  • Тестовые вопросы: 15
  • ИИ-репетитор, который отвечает на вопросы по теме
  • Отслеживание прогресса для ученика, родителей и учителя