Data Science. Наука о данных с нуля, 2- издание, 2021 (Джоэл Грас)
Книга позволяет изучить науку о данных (Data Science) и применить полученные знания на практике. Она содержит краткий курс языка Python, элементы линейной алгебры, статистики, теории вероятностей, методов обработки данных. Приведены основы машинного обучения. Описаны алгоритмы k ближайших соседей, наивной байесовой классификации, линейной и логистической регрессии, а также модели на основе деревьев принятия решений, нейронных сетей и кластеризации. Рассмотрены приемы обработки естественного языка, методы анализа социальных сетей, основы баз данных, SQL и MapReduce.
Во втором издании примеры переписаны на Python 3.6, игрушечные наборы данных заменены на «реальные», добавлены материалы по глубокому обучению и этике данных, статистике и обработке естественного языка, рекуррентным нейронным сетям, векторным вложениям слов и разложению матриц.
Об авторе
Джоэл Грас работает инженером-программистом в компании Google. До этого занимался аналитической работой в нескольких стартапах. Активно участвует в неформальных мероприятиях специалистов в области науки о данных.
Формат: PDF, DjVu.
При этом вы убедитесь, что описанные в книге программные библиотеки, платформы, модули и пакеты инструментов, предназначенные для работы в области науки о данных, великолепно справляются с задачами анализа данных.
А если у вас есть способности к математике и навыки программирования, то Джоэл Грас поможет вам почувствовать себя комфортно с математическим и статистическим аппаратом, лежащим в основе науки о данных, а также с приемами алгоритмизации, которые потребуются для работы в этой области.
В сегодняшнем хаотическом потоке данных скрыты ответы на многие волнующие человека вопросы. Книга познакомит с методологией, которая позволит правильно сформулировать эти вопросы и найти на них ответы.
Вместе с Джоэлом Грас и его книгой:
- Пройдите интенсивный курс языка Python
- Изучите элементы линейной алгебры, математической статистики, теории вероятностей и их применение в науке о данных
- Займитесь сбором, очисткой, нормализацией и управлением данными
- Окунитесь в основы машинного обучения
- Познакомьтесь с различными математическими моделями и их реализацией по методу k-ближайших соседей, наивной байесовской классификации, линейной и логистической регрессии, а также моделями на основе деревьев принятия решений, нейронных сетей и кластеризации
- Освойте работу с рекомендательными системами, приемы обработки естественного языка, методы анализа социальных сетей, технологии MapReduce и баз данных
'Джоэл проведет для вас экскурсию по науке о данных. В результате вы перейдете от простого любопытства к глубокому пониманию насущных алгоритмов, которые должен знать любой аналитик данных'.
Роит Шивапрасад, Специалист компании Amazon в области Data Science с 2014 г.
Предисловие к первому изданию 17
Комментарий переводчика 21
Об авторе 23
Глава 1. Введение 25
Воцарение данных
Что такое наука о данных?
Оправдание для выдумки: DataSciencester
Выявление ключевых звеньев
Исследователи данных, которых вы должны знать
Зарплаты и опыт работы
Оплата аккаунтов
Интересующие темы
Поехали!
Глава 2. Интенсивный курс языка Python 39
Дзен языка Python
Установка языка Python
Виртуальные среды
Пробельное форматирование
Модули
Функции
Строки
Исключения
Списки
Кортежи
Словари
Словарь defaultdict
Счетчики
Множества
Поток управления
Истинность
Сортировка
Включения в список
Автоматическое тестирование и инструкция assert
Объектно-ориентированное программирование
Итерируемые объекты и генераторы
Случайность
Регулярные выражения
Функциональное программирование
Функция zip и распаковка аргументов
Переменные args и kwargs
Аннотации типов
Как писать аннотации типов
Добро пожаловать в DataSciencester!
Для дальнейшего изучения
Глава 3. Визуализация данных 70
Библиотека matplotlib
Столбчатые графики
Линейные графики
Диаграммы рассеяния
Для дальнейшего изучения
Глава 4. Линейная алгебра 80
Векторы
Матрицы
Для дальнейшего изучения
Глава 5. Статистика 88
Описание одиночного набора данных
Центральные тенденции
Вариация
Корреляция
Парадокс Симпсона
Некоторые другие корреляционные ловушки
Корреляция и причинно-следственная связь
Для дальнейшего изучения
Глава 6. Вероятность 101
Взаимная зависимость и независимость
Условная вероятность
Теорема Байеса
Случайные величины
Непрерывные распределения
Нормальное распределение
Центральная предельная теорема
Для дальнейшего изучения
Глава 7. Гипотеза и вывод 114
Проверка статистической гипотезы
Пример: бросание монеты
Р-значения
Доверительные интервалы
Взлом р-значения
Пример: проведение А/В-тестирования
Байесов вывод
Для дальнейшего изучения
Глава 8. Градиентный спуск 127
Идея в основе градиентного спуска
Оценивание градиента
Использование градиента
Выбор правильного размера шага
Применение градиентного спуска для подгонки моделей
Мини-пакетный и стохастический градиентный спуск
Для дальнейшего изучения
Глава 9. Получение данных 137
Объекты stdin и stdout
Чтение файлов
Основы текстовых файлов
Файлы с разделителями
Выскабливание Всемирной паутины
HTML и его разбор
Пример: слежение за Конгрессом
Использование интерфейсов API
Форматы JSON и XML
Использование неаутентифицированного API
Отыскание API-интерфейсов
Пример: использование API-интерфейсов Twitter
Получение учетных данных
Использование библиотеки Twython
Для дальнейшего изучения
Глава 10. Работа с данными 156
Разведывательный анализ данных
Разведывание одномерных данных
Двумерные данные
Многочисленные размерности
Применение типизированных именованных кортежей
Классы данных dataclasses
Очистка и конвертирование
Оперирование данными
Шкалирование
Ремарка: библиотека tqdm
Снижение размерности
Для дальнейшего изучения
Глава 11. Машинное обучение 179
Моделирование
Что такое машинное обучение?
Переподгонка и недоподгонка
Правильность, точность и прецизионность
Компромисс между смещением и дисперсией
Извлечение и отбор признаков
Для дальнейшего изучения
Глава 12. k ближайших соседей 190
Модель
Пример: набор данных о цветках ириса
Проклятие размерности
Для дальнейшего изучения
Глава 13. Наивный Байес 200
Реально глупый спам-фильтр
Более изощренный спам-фильтр
Имплементация
Тестирование модели
Применение модели
Для дальнейшего изучения
Глава 14. Простая линейная регрессия 210
Модель
Применение градиентного спуска
Оценивание максимального правдоподобия
Для дальнейшего изучения
Глава 15. Множественная регрессия 216
Модель
Расширенные допущения модели наименьших квадратов
Подгонка модели
Интерпретация модели
Качество подгонки
Отступление: размножение выборок
Стандартные ошибки регрессионных коэффициентов
Регуляризация
Для дальнейшего изучения
Глава 16. Логистическая регрессия 228
Задача
Логистическая функция
Применение модели
Качество подгонки
Машины опорных векторов
Для дальнейшего изучения
Глава 17. Деревья решений 239
Что такое дерево решений?
Энтропия
Энтропия подразделения
Создание дерева решений
Собираем все вместе
Случайные леса
Для дальнейшего изучения
Глава 18. Нейронные сети 252
Персептроны
Нейронные сети прямого распространения
Обратное распространение
Пример: задача Fizz Buzz
Для дальнейшего изучения
Глава 19. Глубокое обучение 263
Тензор
Абстракция слоя
Линейный слой
Нейронные сети как последовательность слоев
Потеря и оптимизация
Пример: сеть XOR еще раз
Другие активационные функции
Пример: задача Fizz Buzz еще раз
Функции softmax и перекрестная энтропия
Слой отсева
Пример: набор данных MN1ST
Сохранение и загрузка моделей
Для дальнейшего изучения
Глава 20. Кластеризация 288
Идея
Модель
Пример: встречи ИТ-специалистов
Выбор числа к
Пример: кластеризация цвета
Восходящая иерархическая кластеризация
Для дальнейшего изучения
Глава 21. Обработка естественного языка 303
Облака слов
N-граммные языковые модели
Грамматики
Ремарка: генерирование выборок по Гиббсу
Тематическое моделирование
Векторы слов
Рекуррентные нейронные сети
Пример: использование RNN-сети уровня букв
Для дальнейшего изучения
Глава 22. Сетевой анализ 335
Центральность по посредничеству
Центральность по собственному вектору
Умножение матриц
Центральность
Ориентированные графы и алгоритм PageRank
Для дальнейшего изучения
Глава 23. Рекомендательные системы 348
Неавтоматическое кураторство
Рекомендация популярных тем
Коллаборативная фильтрация по схожести пользователей
Коллаборативная фильтрация по схожести предметов
Разложение матрицы
Для дальнейшего изучения
Глава 24. Базы данных и SQL 362
Инструкции CREATE TABLE и INSERT
Инструкция UPDATE
Инструкция DELETE
Инструкция SELECT
Инструкция GROUP BY
Инструкция ORDER BY
Инструкция JOIN
Подзапросы
Индексы
Оптимизация запросов
Базы данных NoSQL
Для дальнейшего изучения
Глава 25. Алгоритм MapReduce 379
Пример: подсчет количества появлений слов
Почему алгоритм MapReduce?
Алгоритм MapReduce в более общем плане
Пример: анализ обновлений новостной ленты
Пример: умножение матриц
Ремарка: комбинаторы
Для дальнейшего изучения
Глава 26. Этика данных 389
Что такое этика данных?
Нет, ну правда, что же такое этика данных?
Должен ли я заботиться об этике данных?
Создание плохих продуктов данных
Компромисс между точностью и справедливостью
Сотрудничество
Интерпретируемость
Рекомендации
Предвзятые данные
Защита данных
Резюме
Для дальнейшего изучения
Глава 27. Идите вперед и займитесь наукой о данных 398
Программная оболочка IPython
Математика
Не с нуля
Библиотека NumPy
Библиотека pandas
Библиотека scikit-leam
Визуализация
Язык R
Глубокое обучение
Отыщите данные
Займитесь наукой о данных
Новости хакера
Пожарные машины
Футболки
Твиты по всему глобусу
А вы?
Предметный указатель 405