Перед началом
О чём вообще эта лаба
Учимся строить «деревья решений»: модели, которые задают вопросы вида «признак меньше порога?» и по ответам приходят к прогнозу. Потом собираем из многих деревьев лес и бустинг.
| Задание | Что делаем | Баллы |
|---|---|---|
| 1.0 Функционалы | Пишем три «измерителя беспорядка»: энтропия, Джини, MSE | 5 |
| 1.1 Классификация | Своё дерево с нуля, проверяем на ирисах (3 вида цветков) | |
| 1.2 Регрессия | То же дерево предсказывает продолжительность жизни в стране | |
| 2.1 Случайный лес | Свой лес из 200 деревьев: уйдёт ли клиент из банка | 2 |
| 2.2 Важность признаков | Что сильнее всего говорит об уходе клиента | 1 |
| 2.3 Лес для регрессии | Лес против одного дерева на продолжительности жизни | 1 |
| 3.1 Бустинг | Функции потерь, их градиенты и свой градиентный бустинг | 3 |
| 3.2 Проверка бустинга | Синус и отток клиентов: шаг ρ = 1 против подбираемого ρ | 2 |
| Итого | 14 |
Слова, без которых дальше никак
- Объект
- Одна строка таблицы: один цветок, одна страна в одном году, один клиент.
- Признак
- Один столбец, свойство объекта: длина лепестка, расходы на медицину, возраст клиента.
- Целевая переменная (y)
- То, что хотим предсказать: вид цветка, сколько лет живут, ушёл ли клиент.
- Классификация
- Ответ из списка вариантов (вид цветка, ушёл / не ушёл).
- Регрессия
- Ответ это число (72.4 года).
- Обучение (fit)
- Модель смотрит на примеры с известными ответами и настраивается.
- Предсказание (predict)
- Модель отвечает для новых объектов.
- train / test
- Данные делим на две части: на train учим, на test проверяем. Как экзамен: проверять надо на задачах, которых ученик не видел.
- Переобучение
- Модель зазубрила обучающие примеры вместе с их случайностями и плохо работает на новых.
- sklearn
- Библиотека машинного обучения с готовыми моделями. Готовый лес из неё брать нельзя, только сравнивать.
На пальцах. Дерево решений это игра «20 вопросов» или определитель растений из учебника биологии: «стебель древесный? да. стоит прямо? да. один ствол? да. значит, дерево». Лаба учит компьютер самому придумывать такие вопросы по данным.

Что сделано до тебя
- Готовый ноутбук:
lab3_solved.ipynb, всё запускается сверху вниз без ошибок за 2-3 минуты. - Код по ячейкам с пометкой «куда вставить»:
lab3_solution.md. - Сверка с условием:
lab3_check.md.
Ловушка: забытый seaborn. В ячейке с синусом написано
sns.scatterplot, но import seaborn as sns в исходном ноутбуке нет. Мы добавили его в первую ячейку, иначе там будет NameError.Одна фразаЛаба про деревья решений: своё дерево для классификации и регрессии, свой случайный лес и свой градиентный бустинг.