ИТМО · Машинное обучение и анализ данных
Лабораторная 3 с нуля
Деревья решений, случайный лес и градиентный бустинг: своё дерево на ирисах, продолжительность жизни по странам, уход клиентов из банка. Каждая тема на отдельной странице, иди по порядку.
Как читать
Жёлтые блоки «На пальцах» объясняют идею без математики, красные «Ловушка» предупреждают о подвохах.
Вопросы в конце темы сначала попробуй ответить сам, потом нажми, чтобы открыть ответ.
Кнопка «Понял тему» ставит отметку в этом списке (хранится на этом телефоне).
Ничего не понятно? Начни тутВся лаба на пальцах за 5 минут, без кода и формул
Рассказ на защитеСценарий по ячейкам: что показать и что сказать
Старт О чём вообще эта лабаУчимся строить «деревья решений»: модели, которые задают вопросы вида «признак меньше порога?» и по ответам приходят к прогнозу. Потом собираем из многих деревьев лес и бустинг.
С нуля Вся лаба на пальцахЕсли в лабе непонятно вообще ничего, прочитай эту страницу. Здесь нет кода и формул: только что мы делаем и зачем, на одном примере с банком.
Основа Как измерить беспорядокДереву нужно число, которое говорит, насколько в куче объектов «всё перемешано». Пишем три таких числа: энтропию и индекс Джини для классов и MSE для чисел.
5 б. Своё дерево на ирисахПишем дерево с нуля: оно перебирает вопросы «признак < порог?», выбирает тот, что сильнее всего уменьшает беспорядок, и повторяет для каждой половины, пока не сработает критерий остановки.
5 б. Дерево для регрессииТо же дерево, но ответ теперь число: сколько лет в среднем живут в стране. Главное здесь не код (меняются две строки), а честная проверка и выбор метрик.
2 б. Случайный лесСтроим 200 деревьев, каждое на своей случайной версии данных и со случайными признаками в каждом узле, и даём им проголосовать. Задача: уйдёт ли клиент из банка.
1 б. Почему клиент уходитВыясняем, какие признаки лес использует сильнее всего, двумя способами, и проверяем, в какую сторону они действуют.
1 б. Лес для регрессииТот же лес, но для продолжительности жизни: деревья-регрессоры и среднее вместо голосования. Сравниваем с одним деревом при тех же критериях остановки.
3 б. Функции потерь и градиентыБустингу нужно знать, насколько плох текущий прогноз (потеря) и в какую сторону его подвинуть (градиент). Пишем три потери и их градиенты одной формулой numpy каждую.
3 б. Градиентный бустинг и синусСтроим деревья по очереди: каждое новое учится исправлять ошибку всех предыдущих. Проверяем на зашумлённом синусе, где одно маленькое дерево явно не справляется.
2 б. Бустинг на оттоке: почему ρ важенСравниваем одно дерево, бустинг с ρ = 1 и бустинг с подбором ρ. С подбором качество сильно выше, и это можно объяснить точно.
Шпора Перед защитойКороткая выжимка: лаба за минуту, команды из кода и словарик.
Защита Рассказ на защитеСценарий, чтобы пройтись по лабе по порядку. Листаешь ноутбук сверху вниз, на каждом шаге смотришь в указанную ячейку и говоришь 2-4 фразы. Целиком минут 8-10.