Введение....8
Часть 3....9
План предварительной подготовки данных....9
1. Введение....9
2. Формирование выборки....11
2.1. Генеральная и выборочная совокупности....11
2.2. Характеристики выборки....11
2.3. Детерминированные и вероятностные выборки....13
2.4. Виды, методы и способы вероятностного отбора....14
2.5. Подходы к определению необходимого объема выборки....15
3. Определение «окна выборки» и «окна созревания»....29
4. Определение зависимой переменной....33
5. Загрузка данных из CSV-файлов и баз данных SQL....34
6. Удаление бесполезных переменных, переменных «из будущего», переменных с юридическим риском....40
7. Преобразование типов переменных и знакомство со шкалами переменных....42
7.1. Количественные (непрерывные) шкалы....42
7.2. Качественные (дискретные) шкалы....44
8. Нормализация строковых значений....46
9. Обработка дублирующихся наблюдений....62
10. Обработка редких категорий....63
11. Появление новых категорий в новых данных....70
12. Импутация пропусков....71
12.1. Способы импутации количественных и бинарных переменных....71
12.2. Способы импутации категориальных переменных....72
12.3. Практика....74
13. Обработка выбросов....91
14. Описательные статистики....95
14.1. Пифагорейские средние, медиана и мода....95
14.2. Квантиль....96
14.3. Дисперсия и стандартное отклонение....97
14.4. Корреляция и ковариация....98
14.5. Получение сводки описательных статистик в библиотеке pandas....103
15. Нормальное распределение....105
15.1. Знакомство с нормальным распределением....105
15.2. Коэффициент островершинности, коэффициент эксцесса и коэффициент асимметрии....108
15.3. Гистограмма распределения и график квантиль–квантиль....112
15.4. Вычисление коэффициента асимметрии и коэффициента эксцесса, построение гистограммы и графика квантиль–квантиль для подбора преобразований, максимизирующих нормальность....113
15.5. Подбор преобразований, максимизирующих нормальность для правосторонней асимметрии....117
15.6. Подбор преобразований, максимизирующих нормальность для левосторонней асимметрии....129
15.7. Преобразование Бокса–Кокса....130
16. Конструирование признаков....136
16.1. Статическое конструирование признаков исходя из предметной области....136
16.2. Статическое конструирование признаков исходя из алгоритма....171
16.3. Динамическое конструирование признаков исходя из особенностей алгоритма....291
16.4. Конструирование признаков для временных рядов....298
17. Отбор признаков....434
17.1. Методы-фильтры....437
17.2. Применение метода-фильтра и встроенного метода для отбора признаков (на примере соревнования BNP Paribas Cardif Claims Management с Kaggle)....445
17.3. Комбинирование нескольких методов для отбора признаков (на примере соревнования Porto Seguro’s Safe Driver Prediction с Kaggle)....452
18. Стандартизация....476
19. Собираем все вместе....487
Часть 4....515
Метрики для оценки качества модели....515
1. Бинарная классификация....515
1.1. Отрицательный и положительный классы, порог отсечения....515
1.2. Матрица ошибок....515
1.3. Доля правильных ответов, правильность (accuracy)....518
1.4. Чувствительность (sensitivity)....520
1.5. Специфичность (specificity) ....522
1.6. 1 – специфичность (1 – specificity)....523
1.7. Сбалансированная правильность....524
1.8. Точность (Precision)....525
1.9. Сравнение точности и чувствительности (полноты)....526
1.10. F-мера (F-score, или F-measure)....527
1.11. Варьирование порога отсечения....533
1.12. Коэффициент Мэттьюса (Matthews correlation coefficient или MCC)....537
1.13. Каппа Коэна (Cohen's cappa)....541
1.14. ROC-кривая (ROC curve) и площадь под ROC-кривой (AUC-ROC)....543
1.15. PR-кривая (PR curve) и площадь под PR-кривой (AUC-PR)....604
1.16. Кривая Лоренца (Lorenz curve) и коэффициент Джини (Gini coefficient)....617
1.17. CAP-кривая (CAP curve)....621
1.18. Статистика Колмогорова–Смирнова (Kolmogorov–Smirnov statistic)....624
1.19. Биномиальный тест (binomial test)....627
1.20. Логистическая функция потерь (logistic loss)....629
2. Регрессия....635
2.1. R2, коэффициент детерминации (R-square, coefficient of determination)....635
2.2. Метрики качества, которые зависят от масштаба данных (RMSE, MSE, MAE, MdAE, RMSLE, MSLE)....644
2.3. Метрики качества на основе процентных ошибок (MAPE, MdAPE, sMAPE, sMdAPE, WAPE, WMAPE, RMSPE, RMdSPE)....657
2.4. Метрики качества на основе относительных ошибок (MRAE, MdRAE, GMRAE)....690
2.5. Относительные метрики качества (RelMAE, RelRMSE)....698
2.6. Масштабированные ошибки (MASE, MdASE)....699
2.7. Критерий Диболда–Мариано....706
Часть 5....708
Другие полезные библиотеки и платформы....708
1. Библиотеки баейсовской оптимизации hyperopt, scikit-optimize и optuna....708
1.1. Недостатки обычного поиска по сетке и случайного поиска по сетке....708
1.2. Знакомство с байесовской оптимизацией....709
1.3. Последовательная оптимизация по модели (Sequential model-based optimization – SMBO) ....711
1.4. Hyperopt....717
1.5. Scikit-Optimize....728
1.6. Optuna....733
2. Docker....743
2.1. Введение....743
2.2. Запуск контейнера Docker....744
2.3. Создание контейнера Docker с помощью Dockerfile....745
3. Библиотека H2O....750
3.1. Установка пакета h2o для Python....750
3.2. Запуск кластера H2O....750
3.3. Преобразование данных во фреймы H2O....751
3.4. Знакомство с содержимым фрейма....752
3.5. Определение имени зависимой переменной и списка имен признаков....754
3.6. Построение модели машинного обучения....754
3.7. Вывод модели....755
3.8. Получение прогнозов....759
3.9. Построение ROC-кривой и вычисление AUC-ROC....760
3.10. Поиск оптимальных значений гиперпараметров по сетке....761
3.11. Извлечение наилучшей модели по итогам поиска по сетке....763
3.12. Класс H2OAutoML....763
3.13. Применение класса H2OAutoML в библиотеке scikit-learn....772
4. Библиотека Dask....784
4.1. Общее знакомство....784
4.2. Машинное обучение с помощью библиотеки dask-ml....793
4.3. Построение конвейера в Dask....801
5. Google Colab....805
5.1. Общее знакомство....805
5.2. Регистрация и создание папки проекта....805
5.3. Подготовка блокнота Colab....810
В двухтомнике представлены материалы по применению классических методов машинного обучения для различных промышленных задач.