
В книге подробно представлены три проблемно-ориентированных вида машинного обучения (Machine learning, ML): автоматизированное обучение AutoML без кодирования, обучение BigQuery ML с малым объемом кодирования и обучение с применением пользовательского кода на основе библиотек scikit-learn и Keras. При этом от читателя не требуется глубоких предварительных знаний в ML или программировании, но базовые навыки в этих областях будут полезны. Специализированные библиотеки, фреймворки ML, репозиторий GitHub и другие инструменты описаны по мере их необходимости. В каждом конкретном случае ключевые концепции ML раскрыты с использованием реальных наборов данных для решения реальных задач. Рассмотрено применение AutoML для прогнозирования продаж, использование BigQuery ML для обучения линейных регрессионных моделей, обучение пользовательских ML-моделей на Python для прогнозирования оттока клиентов и ряд других популярных бизнес-кейсов.
Для студентов, начинающих ML-инженеров и аналитиков данных
Вы узнаете:
- Как различать структурированные и неструктурированные данные и разбираться с проблемами, которые могут встретиться
- Как визуализировать и анализировать данные
- Как предварительно обрабатывать данные для ввода в модель машинного обучения
- Чем отличаются регрессионная и классификационная модели обучения с учителем
- Как сравнивать различные типы моделей ML и их архитектуры, начиная с моделей без кода и с малым объемом кода и заканчивая моделями пользовательского обучения
- Как проектировать, внедрять и настраивать модели ML
- Как экспортировать данные в репозиторий GitHub для хранения и управления ими
Для кого предназначена книга
Цель этой книги — научить читателей формулировать задачи ML для струк-турированных (табличных) данных, подготавливать свои данные для рабочих процессов ML.
Вы также научитесь создавать и применять модели ML с помощью различных решений без кода, с малым объемом кода и с привлечением базовых пользовательских кодов.
Вы пройдете пошаговые процедуры, позволяющие понять эти решения в контексте конкретной бизнес-задачи.
Основная аудитория этой книги — специалисты по бизнес-анализу, аналитике данных, студенты и начинающие гражданские специалисты по обработке данных.
Книга будет интересна людям, которые стремятся очень быстро научиться применять ML в своей работе, используя такие инструменты, как автоматизированное машинное обучение (AutoML), BigQuery ML (с применением SQL) и пользовательское машинное обучение на Python. Предполагается, что читатель имеет некоторое базовое знакомство с анализом данных
Что есть и чего нет в этой книге
Эта книга была написана, чтобы помочь вам сделать первые шаги в мире ML, а не для того, чтобы превратить вас в эксперта. Мы не рассматриваем тео-рию ML в деталях и не охватываем все области статистики и математики, требующиеся высококвалифицированному специалисту по обработке данных. Мы излагаем теорию, необходимую для проектов, описываемых в этой книге, а обсуждение более сложных задач выходит за рамки данной книги. Однако мы даем много ссылок на ресурсы, где вы можете погрузиться в ма-териал, вызывающий у вас дополнительный интерес.
Отзывы на книгу………………………………………………………………………………………………………………………. 11
Предисловие……………………………………………………………………………………………………………………………. 13
Для кого предназначена эта книга?…………………………………………………………………………………………………. 14
Что есть и чего нет в этой книге………………………………………………………………………………………………………. 15
Соглашения об используемых обозначениях…………………………………………………………………………………… 16
Использование примеров кода……………………………………………………………………………………………………….. 16
Онлайн-обучение O’Reilly………………………………………………………………………………………………………………… 17
Наши контакты………………………………………………………………………………………………………………………………. 17
Благодарности……………………………………………………………………………………………………………………………….. 18
Глава 1. Влияние данных на принятие решений в машинном обучении…………………….. 19
Что такое цель или вариант использования ML?……………………………………………………………………………… 19
Рабочий процесс корпоративного ML………………………………………………………………………………………………. 22
Определение бизнес-цели или постановка задачи………………………………………………………………… 23
Сбор данных……………………………………………………………………………………………………………………….. 23
Предварительная обработка данных……………………………………………………………………………………. 25
Анализ данных……………………………………………………………………………………………………………………. 26
Преобразование данных и выбор признаков………………………………………………………………………… 27
Что предпочесть: выбор модели или автоматизированное ML (бескодовое решение)……………. 28
Обучение, оценка и настройка модели…………………………………………………………………………………. 29
Тестирование модели………………………………………………………………………………………………………….. 30
Развертывание модели (обслуживание)……………………………………………………………………………….. 31
Поддержание актуальности моделей……………………………………………………………………………………. 31
Резюме………………………………………………………………………………………………………………………………………….. 32
Глава 2. Первый шаг: данные……………………………………………………………………………………………….. 33
Примеры использования машинного обучения и подходящих к ним наборов данных………………………… 33
Пример 1. Розничная торговля: ценообразование………………………………………………………………… 34
Пример 2. Здравоохранение: кампания по профилактике сердечно-сосудистых заболеваний…. 34
Пример 3. Энергетика: кампания по маркетингу……………………………………………………………………. 35
Пример 4. Страхование: прогнозирование продаж на основе затрат на рекламу в различных медиаканалах 36
Пример 5. Финансы: выявление мошенничества………………………………………………………………….. 36
Пример 6. Энергетика: прогнозирование производства электроэнергии………………………………… 37
Пример 7. Телекоммуникации: прогнозирование оттока клиентов…………………………………………. 38
Пример 8. Автомобилестроение: улучшение эффективности пользовательской модели………… 38
Данные и типы файлов…………………………………………………………………………………………………………………… 39
Количественные и качественные данные…………………………………………………………………………….. 39
Структурированные, неструктурированные и слабоструктурированные данные…………………….. 40
Типы файлов данных………………………………………………………………………………………………………….. 41
Как обрабатываются данные……………………………………………………………………………………………….. 42
Обзор облачных сервисов GitHub и Google Colab……………………………………………………………………………… 43
Используйте GitHub для создания хранилища данных ваших проектов………………………………….. 43
Использование Google Colaboratory для проектов искусственного интеллекта
с малым объемом кода………………………………………………………………………………………………………… 46
Создание блокнота Colaboratory Python Jupyter……………………………………………………………. 47
Импорт библиотек и наборов данных с помощью Pandas……………………………………………… 47
Валидация данных………………………………………………………………………………………………………. 51
Небольшой разведочный анализ данных…………………………………………………………………….. 56
Резюме………………………………………………………………………………………………………………………………………….. 60
Глава 3. Библиотеки и фреймворки машинного обучения…………………………………………… 61
Автоматизированное машинное обучение (AutoML) без кодирования………………………………………………. 61
Как работает AutoML………………………………………………………………………………………………………………………. 69
Машинное обучение как сервис………………………………………………………………………………………………………. 73
ML-фреймворки с малым объемом кода………………………………………………………………………………………….. 77
ML-фреймворки с использованием языка структурированных запросов (SQL-ML)…………………. 77
Google BigQuery ML…………………………………………………………………………………………………….. 78
Amazon Aurora ML и Redshift ML………………………………………………………………………………….. 78
Библиотеки ML с открытым кодом………………………………………………………………………………………… 79
AutoKeras……………………………………………………………………………………………………………………. 79
Auto-sklearn………………………………………………………………………………………………………………… 79
Auto-PyTorch………………………………………………………………………………………………………………. 80
Резюме………………………………………………………………………………………………………………………………………….. 80
Глава 4. Использование AutoML для прогнозирования продаж на основе затрат на рекламу в различных медиаканалах…………………………………………………………………………………………………………………………… 83
Пример использования в бизнесе: прогнозирования продаж на основе затрат на рекламу в различных медиаканалах 83
Рабочий процесс проекта…………………………………………………………………………………………………….. 84
Набор данных проекта………………………………………………………………………………………………………… 85
Разведочный анализ набора данных с помощью Pandas, Matplotlib и Seaborn…………………………………… 85
Загрузка данных во фрейм данных Pandas блокнота Google Colab………………………………………… 86
Разведочный анализ рекламного набора данных………………………………………………………………….. 87
Описательный анализ: проверка данных……………………………………………………………………… 87
Разведочный анализ данных……………………………………………………………………………………….. 89
Экспорт рекламного набора данных…………………………………………………………………………….. 94
Использование AutoML для обучения модели линейной регрессии…………………………………………………… 96
Обучение без кодирования с помощью Vertex AI…………………………………………………………………… 96
Создайте управляемый набор данных в Vertex AI…………………………………………………………………. 96
Выберите цель модели………………………………………………………………………………………………………… 97
Обучение модели………………………………………………………………………………………………………………. 102
Оценка эффективности модели………………………………………………………………………………………….. 106
Важность модельных признаков (атрибуция признаков)……………………………………………………… 108
Прогнозирование с помощью вашей модели………………………………………………………………………. 108
Резюме………………………………………………………………………………………………………………………………………… 116
Глава 5. Использование AutoML для обнаружения мошеннических транзакций…… 117
Пример использования в бизнесе: обнаружение мошенничества в финансовых транзакциях………….. 117
Рабочий процесс проекта…………………………………………………………………………………………………… 118
Набор данных проекта………………………………………………………………………………………………………. 119
Разведочный анализ набора данных с помощью Pandas, Matplotlib и Seaborn…………………………………. 120
Загрузка данных во фрейм Pandas блокнота Google Colab…………………………………………………… 120
Разведочный анализ набора данных………………………………………………………………………………….. 122
Описательный анализ……………………………………………………………………………………………….. 122
Разведочный анализ данных……………………………………………………………………………………… 124
Экспорт набора данных……………………………………………………………………………………………………… 132
Классификационные модели и метрики………………………………………………………………………………………….. 132
Использование AutoML для обучения классификационной модели…………………………………………………. 135
Создание управляемого набора данных и выбор цели модели…………………………………………….. 136
Изучение статистики набора данных………………………………………………………………………………….. 137
Обучение модели………………………………………………………………………………………………………………. 137
Оценка эффективности модели………………………………………………………………………………………….. 140
Значимость признаков модели…………………………………………………………………………………………… 141
Получение прогнозов………………………………………………………………………………………………………… 142
Резюме………………………………………………………………………………………………………………………………………… 144
Глава 6. Использование BigQuery ML для обучения модели линейной регрессии. 145
Пример использования в бизнесе: прогнозирование выработки электроэнергии……………………………… 145
Очистка набора данных с помощью SQL в BigQuery……………………………………………………………………….. 146
Загрузка набора данных в BigQuery……………………………………………………………………………………. 147
Разведочный анализ данных в BigQuery с помощью SQL…………………………………………………….. 151
Использование функции Null для проверки наличия нулевых значений……………………….. 151
Функции Min и Max для определения допустимых диапазонов данных…………………………. 152
Сохранение результатов запроса с помощью инструкции DDL в BigQuery……………………. 154
Модели линейной регрессии………………………………………………………………………………………………………….. 157
Выбор признаков и корреляция………………………………………………………………………………………….. 160
Google Colaboratory……………………………………………………………………………………………………………. 162
Построение связей признаков с целевым параметром………………………………………………………… 166
Оператор CREATE MODEL в BigQuery ML………………………………………………………………………….. 169
Использование оператора CREATE MODEL………………………………………………………………. 169
Просмотр оценочных метрик обученной модели…………………………………………………………. 170
Использование функции ML.PREDICT для составления прогнозов……………………………… 171
Знакомство с объяснимым искусственным интеллектом (Explainable AI)…………………………………………… 173
Объяснимый ИИ в BigQuery ML………………………………………………………………………………………….. 174
Изменение инструкции CREATE MODEL…………………………………………………………………….. 174
Использование функции ML.GLOBAL_EXPLAIN………………………………………………………….. 175
Использование функции ML.EXPLAIN_PREDICT для вычисления
локальных объяснений……………………………………………………………………………………………… 175
Упражнения………………………………………………………………………………………………………………………. 177
Нейронные сети в BigQuery ML……………………………………………………………………………………………………… 178
Краткий обзор нейронных сетей…………………………………………………………………………………………. 178
Функции активации и нелинейность……………………………………………………………………………………. 179
Обучение глубокой нейронной сети в BigQuery ML………………………………………………………………. 181
Упражнения………………………………………………………………………………………………………………………. 184
Использование Cloud Shell для просмотра вашего файла в облачном хранилище…………………………… 184
Резюме………………………………………………………………………………………………………………………………………… 186
Глава 7. Обучение пользовательских моделей ML на Python……………………………………. 187
Пример использования в бизнесе: прогнозирование оттока клиентов…………………………………………….. 187
Выбор между решениями ML без кода, с малым объемом кода и с пользовательским кодом……………. 189
Анализ набора данных с помощью Pandas, Matplotlib и Seaborn………………………………………………………. 190
Загрузка данных во фрейм данных Pandas блокнота Google Colab………………………………………. 191
Анализ и очистка набора данных об оттоке клиентов………………………………………………………….. 193
Проверка и преобразование типов данных………………………………………………………………… 193
Изучение сводной статистики…………………………………………………………………………………….. 197
Изучение комбинаций категориальных столбцов………………………………………………………… 199
Изучение взаимодействия между числовыми и категориальными столбцами……………….. 202
Преобразование признаков с помощью Pandas и scikit-learn………………………………………………… 206
Выбор признаков………………………………………………………………………………………………………. 206
Кодирование категориальных признаков с помощью scikit-learn…………………………………… 208
Обобщение и разделение данных………………………………………………………………………………. 211
Построение модели логистической регрессии с использованием scikit-learn…………………………………….. 212
Логистическая регрессия……………………………………………………………………………………………………. 212
Обучение и оценка модели в scikit-learn………………………………………………………………………………. 214
Метрики оценки классификации…………………………………………………………………………………………. 216
Предоставление прогнозов с помощью модели, обученной в scikit-learn………………………………. 219
Знакомство с пайплайнами scikit-learn…………………………………………………………………………………. 221
Построение нейронной сети с использованием Keras…………………………………………………………………….. 224
Введение в Keras………………………………………………………………………………………………………………. 224
Обучение классификатора нейронной сети с использованием Keras……………………………………. 225
Построение пользовательских ML-моделей на основе Vertex AI……………………………………………………… 230
Резюме………………………………………………………………………………………………………………………………………… 239
Глава 8. Улучшение эффективности пользовательской модели……………………………… 241
Пример использования в бизнесе: ценообразование на аукционе по продаже
подержанных автомобилей……………………………………………………………………………………………………………. 241
Усовершенствование модели в scikit-learn……………………………………………………………………………………… 243
Загрузка в блокнот уже существующей модели……………………………………………………………………. 243
Загрузка наборов данных и разделение данных на обучающие, оценочные и тестовые……….. 244
Изучение модели линейной регрессии в scikit-learn……………………………………………………………… 245
Инжиниринг признаков и совершенствование пайплайна предварительной обработки………… 248
Поиск простых улучшений…………………………………………………………………………………………. 248
Пересечение признаков…………………………………………………………………………………………….. 251
Настройка гиперпараметров………………………………………………………………………………………………. 253
Стратегия настройки гиперпараметров………………………………………………………………………. 253
Настройка гиперпараметров в scikit-learn……………………………………………………………………. 255
Улучшение модели в Keras……………………………………………………………………………………………………………. 258
Знакомство со слоями предварительной обработки Keras…………………………………………………… 258
Создание набора данных и слоев предварительной обработки для вашей модели………………. 259
Построение модели нейронной сети…………………………………………………………………………………… 262
Настройка гиперпараметров в Keras………………………………………………………………………………….. 263
Настройка гиперпараметров в BigQuery ML……………………………………………………………………………………. 267
Загрузка и преобразование данных аукциона автомобилей…………………………………………………. 268
Обучение модели линейной регрессии и использование условия TRANSFORM……………………. 270
Настройка гиперпараметров в BigQuery ML………………………………………………………………………… 273
Регуляризация………………………………………………………………………………………………………….. 273
Настройка гиперпараметров в инструкции CREATE MODEL……………………………………….. 275
Опции настройки гиперпараметров для больших моделей……………………………………………………………… 277
Обучение и настройка Vertex AI………………………………………………………………………………………….. 277
Автоматическая настройка модели с помощью Amazon SageMaker……………………………………… 278
Машинное обучение Azure…………………………………………………………………………………………………. 278
Резюме………………………………………………………………………………………………………………………………………… 278
Глава 9. Путешествие в мир искусственного интеллекта продолжается………………… 279
Дальнейшее погружение в науку о данных…………………………………………………………………………………….. 279
Работа с неструктурированными данными………………………………………………………………………….. 280
Работа с изображениями…………………………………………………………………………………………… 280
Работа с текстовыми данными…………………………………………………………………………………… 282
Генеративный искусственный интеллект…………………………………………………………………………….. 284
Объяснимый искусственный интеллект………………………………………………………………………………. 285
Практика машинного обучения……………………………………………………………………………………………………… 288
Непрерывное обучение и оценка…………………………………………………………………………………………………… 289
Резюме………………………………………………………………………………………………………………………………………… 290
Предметный указатель………………………………………………………………………………………………………… 291
Об авторах……………………………………………………………………………………………………………………………… 293
Об изображении на обложке………………………………………………………………………………………………. 295