Содержание книги-поста "Четыре товарища" (817-стр. pdf, 46 Jupyter-тетрадок, скрипты)
ЧАСТЬ 6. ДЕРЕВЬЯ РЕШЕНИЙ 5
1. Знакомство с методом деревьев решений 6
1.1. Описание метода деревьев решений 6
1.2. Визуализация работы дерева решений 9
1.3. Краткое знакомство с CHAID и CART 12
1.4. Задачи деревьев решений 14
1.5. Области применения деревьев решений 17
1.6. Преимущества деревьев решений 17
1.7. Недостатки деревьев решений 18
2. Метод CART 19
2.1. Подробное описание алгоритма 19
2.2. Принцип неоднородности 22
2.3. Метод отсечения ветвей на основе стоимости-сложности 25
2.4. Иллюстрация работы дерева классификации CART на конкретном примере 29
2.5. Иллюстрация работы дерева регрессии CART на конкретном примере 55
2.6. Иллюстрация работы дерева классификации CART при изменении весов классов (гиперпараметр class_weight) 62
2.7. Программная реализация метода CART 65
2.8. Иллюстрация неспособности деревьев решений к экстраполяции 78
2.9. Работа с разреженными данными 82
2.10. Визуализация дерева для различных способов кодировки категориальных признаков 83
3. Пример настройки гиперпараметров для дерева классификации CART 89
3.1. Описание данных и задачи 89
3.2. Загрузка и предварительная подготовка данных 90
3.3. Построение модели 92
3.4. Поиск оптимального значения ccp_alpha для прунинга 93
3.5. Поиск оптимальных значений гиперпараметров с помощью поиска по сетке 97
3.6. Визуализация результатов поиска по сетке в виде трехмерных графиков 98
ЧАСТЬ 7. СЛУЧАЙНЫЙ ЛЕС 102
1. Знакомство с методом случайного леса 103
1.1. Краткое описание метода случайного леса 103
1.2. Подробное описание метода случайного леса 104
1.3. Новые реализации случайного леса 107
1.4. Получение прогнозов для задачи классификации 109
1.5. Получение прогнозов для задачи регрессии 111
1.6. Оценка качества модели 112
1.7. Программная реализация случайного леса 125
1.8. Классы BaggingClassifier и BaggingRegressor 133
1.9. Важности признаков 138
1.10. Графики частной зависимости 167
1.11. Матрица близостей 170
1.12. Обработка пропущенных значений 171
1.13. Обнаружение выбросов 172
2. Настройка гиперпараметров случайного леса 173
2.1. Гиперпараметры случайного леса 173
2.2. Таблицы параметров и гиперпараметров случайного леса для классов RandomForestClassifier/RandomForestRegressor библиотеки scikit-learn и класса H2ORandomForestEstimator библиотеки H2O 184
2.3. Пример подбора гиперпараметров для классов RandomForestClassifier/RandomForestRegressor библиотеки scikit-learn 191
2.4. Пример подбора гиперпараметров для классов H2ORandomForestEstimator библиотеки H2O 203
3. Декомпозиция прогнозов дерева решений и случайного леса с помощью питоновского пакета treeinterpreter для улучшения интерпретабельности 210
3.1. Случайный лес как «черный ящик» 210
3.2. Превращение «черного» ящика в «белый ящик»: пути решений 211
3.3. Пример: данные о ценах на жилье в Бостоне 211
3.4. От деревьев решений к случайному лесу 213
3.5. Практическое применение пакета treeinterpreter 213
4. Извлечение полезных правил с помощью пакета SkopeRules 217
5. Калибровка вероятностей случайного леса 222
ЧАСТЬ 8. ГРАДИЕНТНЫЙ БУСТИНГ 225
1. Знакомство с методом градиентного бустинга 226
1.1. Общая идея бустинга 226
1.2. Связь градиентного спуска с алгоритмом бустинга 240
1.3. Градиентный бустинг 242
1.4. Градиентный бустинг для задачи регрессии 245
1.5. Градиентный бустинг для задачи классификации 268
1.6. Градиентный бустинг с динамическим темпом обучения 298
1.7. Особенности градиентного бустинга 304
1.8. Общая схема настройки гиперпараметров 306
1.9. Ансамблирование моделей градиентного бустинга 310
2. XGBoost 319
2.1. Математический аппарат 319
2.2. Базовые возможности 327
2.3. Иллюстрация математического аппарата на примере задачи бинарной классификации 356
2.4. Иллюстрация математического аппарата на примере задачи регрессии 385
2.5. Обработка пропусков 389
2.6. BoostARoota и Stochastic BoostARoota (отбор признаков с помощью XGBoost) 395
2.7. Конструирование признаков с помощью библиотеки xgbfir (на примере задачи Homesite Quote Conversion с Kaggle) 421
2.8. Улучшение качества с помощью конструирования признаков на основе дат, расстояний, вычисленных по формуле гаверсинусов, кластерного анализа и метода главных компонент (на примере задачи New York City Taxi Trip Duration с Kaggle) 444
3. LightGBM 457
3.1. Математический аппарат 457
3.2. Базовые возможности 467
3.3. Автоматизация процесса предподготовки данных и настройки гиперпараметров модели LightGBM (на примере задачи Tinkoff Data Science Challenge с Boosters) 493
3.4. Многоклассовая классификация временных рядов (на примере задачи Классификация агрокультур на основе показателя вегетационных индексов во временной последовательности) 526
3.5. Регрессия с избыточным количеством нулей в зависимой переменной (на примере задачи прогнозирования сумм страховых требований) 549
4. CatBoost 559
4.1. Математический аппарат 559
4.2. Базовые возможности 572
4.3. Оптимизация гиперпараметров с помощью класса GridSearchCV (задача MegaFon Accelerator с Kaggle) 647
4.4. Оптимизация гиперпараметров с помощью классов GridSearchCV и OptunaSearchCV (задача Зетта Страхование) 653
4.5. Оптимизация гиперпараметров с помощью встроенного метода .grid_search() (задача Titanic) 660
4.6. Оптимизация гиперпараметров с помощью ColumnTransformer, Pipeline, GridSearchCV и OptunaSearchCV (задача BNP Paribas) 663
4.7. Отбор признаков с помощью нативного метода .select_features() (задача BNP Paribas) 671
4.8. Гибридный отбор с предварительным удалением признаков по корреляции (на примере задачи MegaFon Accelerator с Kaggle) 679
4.9. Прогнозирование большого количества рядов одной моделью (на примере задачи Store Sales – Time Series Forecasting с Kaggle) 694
5. SketchBoost 756
5.1. Математический аппарат 756
5.2. Простые примеры применения 767
6. Создание эмбеддингов с помощью ансамблей деревьев 788
ЧАСТЬ 9. СТЕКИНГ 802
1. Общее знакомство со стекингом 803
1.1. Простой стекинг 803
1.2. Усреднение простых стекингов 810
1.3. Классический стекинг 817
четыре_товарища
пост_книга_"четыре_товарища"