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

Новинка: Расширенная аналитика с PySpark

Расширенная аналитика с PySpark

Представляем книгу, которая посвящена практическим методам анализа больших объемов данных с использованием языка Python и фреймворка Spark, она знакомит с моделью программирования Spark и основами системы с открытым исходным кодом  PySpark. Каждая глава описывает отдельный аспект анализа данных, показаны основы обработки данных в PySpark и Python на примере очистки данных, подробно освещается машинное обучение с помощью Spark. Книга поможет читателю понять, как устроен и работает весь конвейер PySpark для комплексной аналитики больших наборов данных: от создания и оценки моделей до очистки, предварительной обработки и исследования данных с особым акцентом на производственные приложения. Отдельные главы посвящены обработке изображений и библиотеке Spark NLP.

Практические примеры анализа больших наборов данных с использованием Python и Spark

В современном мире накоплен ошеломляющий объем данных, и он продолжает расти. Один из основных инструментов анализа данных — Apache Spark, фреймворк с открытым исходным кодом для распределенной обработки неструктурированных и слабоструктурированных данных. Это практическое руководство объединяет Spark, статистические методы и наборы данных из реального мира. Авторы научат вас решать задачи анализа с помощью  системы с открытым исходным кодом PySpark, применяемой для распределенной обработки больших данных с использованием Python, а также других передовых методов программирования Spark.

Специалисты по обработке данных знакомят читателей с экосистемой Spark, а затем приводят примеры базовых методов анализа, включая классификацию, кластеризацию, совместную фильтрацию и обнаружение аномалий в таких областях, как геномика, безопасность и финансы. Отдельные главы посвящены обработке изображений и библиотеке Spark NLP.

Если у вас имеются базовые знания о машинном обучении и статистике, и вы программируете на Python, книга поможет вам освоить анализ больших данных.

  • Ознакомьтесь с моделью программирования и экосистемой Spark
  • Изучите общие подходы в науке о данных
  • Изучите практические примеры анализа больших наборов данных
  • Узнайте, какие инструменты машинного обучения подходят для решения конкретных задач
  • Напишите код, который можно адаптировать для многих целей

Книгу “Расширенная аналитика с PySpark” можно купить со скидкой в интернет-магазине издательства “БХВ“.

Предисловие. 9

Почему мы написали эту книгу именно сейчас?. 9

Как устроена эта книга. 10

Условные обозначения, используемые в этой книге. 11

Использование примеров кода. 12

Благодарности. 12

ГЛАВА 1. Анализ больших данных. 15

Работа с большими данными. 16

Знакомство с Apache Spark и PySpark. 18

Компоненты Spark. 18

PySpark. 20

Экосистема. 21

Spark 3.0. 22

PySpark решает проблемы науки о данных. 23

Что дальше?. 24

ГЛАВА 2. Введение в анализ данных с помощью PySpark. 25

Архитектура Spark. 27

Установка PySpark. 28

Подготовка учебных данных. 30

Анализ данных с помощью API DataFrame. 36

Быстрая сводная статистика для фреймов данных. 40

Поворот и изменение формы фреймов данных. 42

Соединение фреймов данных и выбор признаков. 45

Функция оценивания и проверка модели. 46

Что дальше?. 48

ГЛАВА 3. Рекомендация музыки и набор данных Audioscrobbler. 49

Подготовка данных. 50

Наши требования к рекомендательной системе. 52

Альтернативный алгоритм наименьших квадратов. 55

Подготовка данных. 56

Создание первой модели. 59

Выборочная проверка рекомендаций. 63

Оценка качества рекомендаций. 65

Вычисление AUC.. 66

Выбор гиперпараметра. 68

Выдача рекомендаций. 70

Что дальше?. 72

ГЛАВА 4. Прогнозирование с помощью деревьев и лесов решений. 73

Деревья и леса решений. 74

Подготовка данных. 77

Наше первое дерево решений. 81

Гиперпараметры дерева решений. 88

Настройка деревьев решений. 90

Еще раз о категориальных признаках. 94

Случайные леса. 98

Получение прогнозов. 100

Что дальше?. 101

ГЛАВА 5. Обнаружение аномалий при помощи кластеризации
K-средних. 102

Кластеризация K-средних. 103

Выявление аномального сетевого трафика. 104

Набор данных Кубка KDD 1999 г. 105

Первый опыт кластеризации. 106

Выбор параметра k. 108

Визуализация с помощью SparkR.. 111

Нормализация признаков. 115

Категориальные переменные. 117

Использование меток с энтропией. 119

Кластеризация в действии. 120

Что дальше?. 122

ГЛАВА 6. Исследование Википедии с помощью LDA и Spark NLP. 123

Скрытое распределение Дирихле. 124

LDA в PySpark. 124

Получение данных. 125

Spark NLP. 126

Подготовка вашей среды.. 127

Парсинг данных. 128

Подготовка данных с использованием Spark NLP. 130

TF-IDF. 134

Вычисление TF-IDF. 135

Создание модели LDA.. 136

Что дальше?  139

ГЛАВА 7. Геопространственный и временнóй анализ данных
о поездках на такси. 140

Подготовка данных. 141

Преобразование строк даты и времени в метки времени. 143

Обработка недействительных записей. 146

Геопространственный анализ. 147

Введение в GeoJSON.. 147

GeoPandas. 149

Сессионизация в PySpark. 152

Создание сессий: вторичные сортировки в PySpark. 153

Что дальше?. 155

ГЛАВА 8. Оценка финансового риска. 157

Терминология. 158

Методы расчета VaR.. 159

Дисперсия-ковариация. 159

Ретроспективное моделирование. 159

Моделирование методом Монте-Карло. 159

Наша модель. 160

Получение данных. 161

Подготовка данных. 162

Определение весов факторов. 165

Выборка. 168

Многомерное нормальное распределение. 170

Испытание моделей. 171

Визуализация распределения доходов. 175

Что дальше?. 175

ГЛАВА 9. Анализ данных геномики и проект BDG.. 177

Разделение хранения и моделирования. 178

Установка ADAM.. 181

Введение в работу с геномными данными с использованием ADAM.. 182

Преобразование формата файла с помощью ADAM CLI 183

Получение геномных данных с помощью PySpark и ADAM.. 183

Прогнозирование сайтов связывания транскрипционных факторов на основе данных ENCODE  189

Что дальше?. 194

ГЛАВА 10. Обнаружение сходства изображений с помощью глубокого обучения и PySpark LSH   196

PyTorch. 197

Установка PyTorch. 197

Подготовка данных. 198

Изменение размера изображений с помощью PyTorch. 199

Модель глубокого обучения для векторного представления изображений. 200

Встраивание изображений. 200

Импорт встраиваний изображений в PySpark. 202

Поиск схожих изображений с использованием PySpark LSH.. 203

Поиск ближайшего соседа. 204

Что дальше?. 207

ГЛАВА 11. Управление жизненным циклом машинного обучения
с помощью MLflow.. 208

Жизненный цикл машинного обучения. 208

MLflow.. 210

Отслеживание экспериментов. 211

Использование MLflow Model 214

Создание и использование проектов MLflow.. 217

Что дальше?. 220

Об авторах. 221

Колофон. 222

Предметный указатель. 223

Акаш Тандон — cоучредитель и технический директор компании Looppanel. Ранее работал главным инженером по данным в компании Atlan,  специализирующейся на обработке данных и аналитике.

Сэнди Райза — ведущий разработчик проекта Dagster, облачного оркестратора для анализа данных,  и участник проекта Apache Spark.

Ури Ласерсон — учредитель и технический директор компании Patch Biosciences, специализирующей в области геномики и расшифровки ДНК. Ранее работал с большими данными в Cloudera, создателе дистрибутивов Apache Hadoop.

Шон Оуэн — главный архитектор решений, специализирующийся на машинном обучении и науке о данных в Databricks, компании по разработке корпоративного программного обеспечения, основанной создателями Apache Spark. Участник проекта Apache Spark.

Джош Уиллс — инженер-программист в компании WeaveGrid, развивающей «зеленые» технологии в сфере энергетики, и бывший руководитель отдела обработки данных в компании Slack Tecnologies, разработавшей одноименный корпоративный мессенджер .

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

Погрузитесь в аналитику данных

Погружение в аналитику данных

В нашем издательстве вышла новая книга, в которой приводятся практические приемы анализа данных. Рассказано, как исследовать и тестировать взаимосвязи между переменными в Excel и использовать его для статистики и анализа. Описан перенос данных из Excel в R, язык программирования с открытым исходным кодом, специально разработанный для выполнения статистического анализа. Отдельный раздел посвящен переносу данных из Excel в Python и выполнению полного анализа данных средствами этого языка. В результате читатель научится выполнять разведочный анализ данных (Exploratory Data Analysis, EDA) и проверку гипотез с использованием языков программирования Python и R.

Аналитика данных может показаться сложной сферой, но если вы  опытный пользователь Excel, у вас есть уникальное преимущество. С помощью этого практического руководства пользователи Excel среднего уровня получат прочное понимание аналитики и стека данных. Прочитав эту книгу, вы сможете проводить исследовательский анализ данных и проверку гипотез с помощью языков программирования Python и R.

Исследование и проверка взаимосвязей — основа аналитики. Используя описанные инструменты и механизмы, вы освоите более продвинутые методы анализа данных. Джордж Маунт подробно объясняет ключевые статистические концепции с помощью электронных таблиц, а затем помогает применить полученные знания об обработке данных для написания программ на языках R и Python.

Эта практическая книга поможет вам:

Изучить основы аналитики в Excel.  Используйте Excel для проверки взаимосвязи между переменными, научитесь применять его возможности в статистике и аналитике.

Перейти от Excel к R.  Перенесите данные в R, язык программирования с открытым исходным кодом, специально разработанный для выполнения статистического анализа.

Перейти от Excel к Python.  Узнайте, как перенести информацию из Excel в Python, научитесь выполнять разведочный анализ, проверку гипотез, а также полный анализ данных средствами этого языка.

Джордж подробно рассказывает, что нужно сделать, чтобы перейти от Excel к науке о данных и аналитике.
Джордан Голдмайер, обладатель сертификата Microsoft Excel MVP

Эта книга – уникальное пособие, которое можно использовать и как справочник, и как учебник по бизнесу и аналитике данных.
Айден Джонсон, специалист по анализу данных и преподаватель

Книгу “Погружение в аналитику данных” можно купить со скидкой в интернет-магазине издательства “БХВ“.

Предисловие…………………………………………………………………………………………….. 9

Цель обучения………………………………………………………………………………………………………………………………. 9

Предварительные условия………………………………………………………………………………………………………….. 9

Технические требования………………………………………………………………………………………………….. 9

Требования к предварительной подготовке…………………………………………………………………. 10

Как я пришел к аналитике…………………………………………………………………………………………………………. 10

«Excel — плохо, программирование — хорошо»……………………………………………………………………. 11

Преимущества Excel при обучении аналитике……………………………………………………………………….. 12

Обзор книги………………………………………………………………………………………………………………………………… 13

Упражнения в конце глав………………………………………………………………………………………………………….. 13

Эта книга — не список готовых решений………………………………………………………………………………… 14

Без паники!…………………………………………………………………………………………………………………………………. 14

Условные обозначения……………………………………………………………………………………………………………… 14

Использование примеров кода…………………………………………………………………………………………………. 15

Контакты…………………………………………………………………………………………………………………………………….. 16

Благодарности…………………………………………………………………………………………………………………………… 16

Часть I. Основы аналитики в Excel………………………………………… 17

Глава 1. Основы разведочного анализа данных…………………………………….. 19

Что такое разведочный анализ данных?…………………………………………………………………………………. 19

Наблюдения……………………………………………………………………………………………………………………. 21

Переменные…………………………………………………………………………………………………………………….. 21

Категориальные переменные………………………………………………………………………………… 22

Количественные переменные………………………………………………………………………………… 24

Закрепление материала: классификация переменных…………………………………………………………… 25

Резюме: типы переменных………………………………………………………………………………………………………… 27

Исследование переменных в Excel…………………………………………………………………………………………… 27

Исследование категориальных переменных……………………………………………………………….. 27

Исследование количественных переменных……………………………………………………………….. 30

Заключение………………………………………………………………………………………………………………………………… 41

Упражнения………………………………………………………………………………………………………………………………… 41

Глава 2. Понятие вероятности……………………………………………………………….. 42

Вероятность и случайность………………………………………………………………………………………………………. 42

Вероятность и выборочное пространство………………………………………………………………………………. 42

Вероятность и эксперименты……………………………………………………………………………………………………. 43

Безусловная и условная вероятность………………………………………………………………………………………. 43

Распределение вероятностей……………………………………………………………………………………………………. 43

Дискретное распределение вероятностей……………………………………………………………………. 44

Непрерывное распределение вероятностей…………………………………………………………………. 47

Заключение………………………………………………………………………………………………………………………………… 55

Упражнения………………………………………………………………………………………………………………………………… 55

Глава 3. Основы инференциальной статистики…………………………………….. 56

Базовые понятия статистического вывода………………………………………………………………………………. 56

Сбор данных для репрезентативной выборки……………………………………………………………… 57

Формулирование гипотез………………………………………………………………………………………………. 58

Разработка плана анализа…………………………………………………………………………………………….. 59

Анализ данных……………………………………………………………………………………………………………….. 62

Принятие решения………………………………………………………………………………………………………….. 64

Это ваш мир… данные только живут в нем……………………………………………………………………………… 71

Заключение………………………………………………………………………………………………………………………………… 72

Упражнения………………………………………………………………………………………………………………………………… 73

Глава 4. Корреляция и регрессия……………………………………………………………. 74

«Корреляция не подразумевает причинно-следственную связь»………………………………………….. 74

Понятие корреляции………………………………………………………………………………………………………………….. 75

От корреляции к регрессии…………………………………………………………………………………………….. 80

Линейная регрессия в Excel……………………………………………………………………………………………. 81

Переосмысление результатов: ложные зависимости……………………………………………………………… 87

Заключение………………………………………………………………………………………………………………………………… 88

Переход к программированию…………………………………………………………………………………………………. 89

Упражнения………………………………………………………………………………………………………………………………… 89

Глава 5. Стек анализа данных……………………………………………………………….. 90

Статистика, аналитика и наука о данных………………………………………………………………………………. 90

Статистика………………………………………………………………………………………………………………………. 90

Аналитика данных…………………………………………………………………………………………………………. 90

Бизнес-аналитика…………………………………………………………………………………………………………… 91

Наука о данных………………………………………………………………………………………………………………. 91

Машинное обучение………………………………………………………………………………………………………. 91

Различия без взаимоисключения…………………………………………………………………………………… 92

Значение стека анализа данных………………………………………………………………………………………………. 92

Электронные таблицы……………………………………………………………………………………………………. 93

VBA………………………………………………………………………………………………………………………….. 94

Современный Excel………………………………………………………………………………………………… 95

Базы данных……………………………………………………………………………………………………………………. 96

Платформы бизнес-аналитики (BI)……………………………………………………………………………….. 97

Языки программирования для анализа данных………………………………………………………….. 98

Заключение………………………………………………………………………………………………………………………………… 99

Что будет дальше…………………………………………………………………………………………………………………….. 100

Упражнения……………………………………………………………………………………………………………………………… 100

Часть II. От Excel к R……………………………………………………………………. 101

Глава 6. Первые шаги в R для пользователей Excel……………………………… 103

Загрузка R………………………………………………………………………………………………………………………………… 103

Начало работы с RStudio……………………………………………………………………………………………………….. 103

Пакеты в R………………………………………………………………………………………………………………………………… 112

Обновление R, RStudio и пакетов R……………………………………………………………………………………….. 114

Заключение………………………………………………………………………………………………………………………………. 114

Упражнения……………………………………………………………………………………………………………………………… 116

Глава 7. Структуры данных в R…………………………………………………………… 117

Векторы…………………………………………………………………………………………………………………………………….. 117

Индексирование и подмножества векторов…………………………………………………………………………… 119

От таблиц Excel к кадрам данных R………………………………………………………………………………………. 120

Импорт данных в R………………………………………………………………………………………………………………….. 122

Исследование кадра данных………………………………………………………………………………………………….. 126

Индексирование и подмножества кадров данных………………………………………………………………… 128

Запись кадров данных…………………………………………………………………………………………………………….. 129

Заключение………………………………………………………………………………………………………………………………. 130

Упражнения……………………………………………………………………………………………………………………………… 130

Глава 8. Обработка и визуализация данных в R………………………………….. 131

Обработка данных с помощью пакета dplyr…………………………………………………………………………. 131

Постолбцовые операции……………………………………………………………………………………………… 132

Построчные операции………………………………………………………………………………………………….. 135

Агрегирование и объединение данных………………………………………………………………………. 137

dplyr и оператор pipe (%>%)……………………………………………………………………………………….. 141

Преобразование данных с помощью tidyr…………………………………………………………………. 142

Визуализация данных с помощью ggplot2……………………………………………………………………………. 145

Заключение………………………………………………………………………………………………………………………………. 151

Упражнения……………………………………………………………………………………………………………………………… 151

Глава 9. Кульминация: R для анализа данных…………………………………….. 152

Разведочный анализ данных………………………………………………………………………………………………….. 153

Проверка гипотез……………………………………………………………………………………………………………………… 157

t-тест для независимых выборок…………………………………………………………………………………. 157

Линейная регрессия……………………………………………………………………………………………………… 159

Разделение и проверка данных для обучения и тестирования………………………………… 161

Заключение………………………………………………………………………………………………………………………………. 164

Упражнения……………………………………………………………………………………………………………………………… 164

Часть III. От Excel к Python………………………………………………………. 165

Глава 10. Первые шаги в Python для пользователей Excel……………………. 167

Загрузка Python……………………………………………………………………………………………………………………….. 167

Начало работы с Jupyter…………………………………………………………………………………………………………. 168

Модули в Python………………………………………………………………………………………………………………………. 176

Обновление Python, Anaconda и пакетов Python………………………………………………………. 178

Заключение………………………………………………………………………………………………………………………………. 178

Упражнения……………………………………………………………………………………………………………………………… 178

Глава 11. Структуры данных в Python…………………………………………………. 180

Массивы NumPy……………………………………………………………………………………………………………………….. 181

Индексирование и подмножества массивов NumPy……………………………………………………………… 182

Кадры данных Pandas…………………………………………………………………………………………………………….. 184

Импорт данных в Python…………………………………………………………………………………………………………. 185

Исследование кадра данных………………………………………………………………………………………………….. 187

Индексирование и подмножества кадров данных…………………………………………………….. 188

Запись кадров данных…………………………………………………………………………………………………. 189

Заключение………………………………………………………………………………………………………………………………. 189

Упражнения……………………………………………………………………………………………………………………………… 189

Глава 12. Обработка и визуализация данных в Python…………………………. 191

Постолбцовые операции…………………………………………………………………………………………………………. 192

Построчные операции…………………………………………………………………………………………………………….. 194

Агрегирование и объединение данных………………………………………………………………………………….. 195

Преобразование данных…………………………………………………………………………………………………………. 197

Визуализация данных……………………………………………………………………………………………………………… 199

Заключение………………………………………………………………………………………………………………………………. 203

Упражнения……………………………………………………………………………………………………………………………… 203

Глава 13. Кульминация: Python для анализа данных…………………………… 204

Разведочный анализ данных………………………………………………………………………………………………….. 205

Проверка гипотез……………………………………………………………………………………………………………………… 207

t-тест для независимых выборок…………………………………………………………………………………. 207

Линейная регрессия……………………………………………………………………………………………………… 208

Разделение и проверка данных для обучения и тестирования………………………………… 210

Заключение………………………………………………………………………………………………………………………………. 212

Упражнения……………………………………………………………………………………………………………………………… 212

Глава 14. Заключение и дальнейшие шаги…………………………………………… 213

Дополнительные элементы стека анализа данных………………………………………………………………. 213

План исследований и бизнес-эксперименты…………………………………………………………………………. 213

Дополнительные статистические методы……………………………………………………………………………… 214

Наука о данных и машинное обучение…………………………………………………………………………………. 214

Контроль версий………………………………………………………………………………………………………………………. 214

Этика…………………………………………………………………………………………………………………………………………. 215

Двигайтесь вперед и выбирайте то, что нравится………………………………………………………………… 215

Напутствие……………………………………………………………………………………………………………………………….. 216

Предметный указатель…………………………………………………………………………. 217

Об авторе……………………………………………………………………………………………… 221

Об изображении на обложке………………………………………………………………… 222

Джордж Маунт

Джордж Маунт  — основатель и генеральный директор  Stringfest Analytics, консалтинговой фирмы, специализирующейся на обучении и повышении квалификации в области аналитики данных, ранее работал с ведущими учебными платформами и компаниями в этой сфере. Джордж регулярно ведет блоги и выступает с докладами на темы обучения анализу данных.