Опубликовано

Машинное обучение с малым объемом кодирования: практическое введение в искусственный интеллект на основе проектов

Машинное обучение с малым объемом кодирования

В книге подробно представлены три проблемно-ориентированных вида машинного обучения (Machine learning, ML): автоматизированное обучение AutoML без кодирования, обучение BigQuery ML с малым объемом кодирования и обучение с применением пользовательского кода на основе библиотек scikit-learn и Keras. При этом от читателя не требуется глубоких предварительных знаний в ML или программировании, но базовые навыки в этих областях будут полезны.  Специализированные библиотеки, фреймворки ML, репозиторий GitHub  и другие инструменты описаны по мере их необходимости. В каждом конкретном случае ключевые концепции ML раскрыты с использованием реальных наборов данных для решения реальных задач. Рассмотрено применение AutoML для прогнозирования продаж, использование BigQuery ML для обучения линейных регрессионных моделей, обучение пользовательских ML-моделей на Python для прогнозирования оттока клиентов и ряд других популярных бизнес-кейсов.

Для студентов, начинающих ML-инженеров и аналитиков данных

Животное на обложке книги — это зеленая лягушка (Lithobates clamitans). Она способна издавать громкий звук “бонг”, который похож на звучание ослабленной струны банджо.

Вы узнаете:

  • Как различать структурированные и неструктурированные данные и разбираться с проблемами, которые могут встретиться
  • Как визуализировать и анализировать данные
  • Как предварительно обрабатывать данные для ввода в модель машинного обучения
  • Чем отличаются регрессионная и классификационная модели обучения с учителем
  • Как сравнивать различные типы моделей 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

Добавить комментарий