Книга позволяет изучить науку о данных (Data Science) и применить полученные знания на практике. Она содержит краткий курс языка Python, элементы линейной алгебры, статистики, теории вероятностей, методов обработки данных. Приведены основы машинного обучения. Описаны алгоритмы k-ближайших соседей, наивной байесовой классификации, линейной и логистической регрессии, а также модели на основе деревьев принятия решений, нейронных сетей и кластеризации. Рассмотрены приемы обработки естественного языка, методы анализа социальных сетей, основы баз данных, SQL и MapReduce.
Во втором издании примеры переписаны на Python 3.6, игрушечные наборы данных заменены на «реальные», добавлены материалы по глубокому обучению и этике данных, статистике и обработке естественного языка, рекуррентным нейронным сетям, векторным вложениям слов и разложению матриц.
Author(s): Джоэл Грас
Edition: 2
Publisher: БХВ-Петербург
Year: 2021
Language: Russian
Pages: 416
City: СПб.
Tags: Machine Learning; Neural Networks; Deep Learning; Natural Language Processing; Regression; Decision Trees; Data Science; Databases; Ethics; Python; Recommender Systems; Bayesian Inference; Clustering; Data Visualization; SQL; Naive Bayes; MapReduce; Statistics; Gradient Descent; Optimization; Logistic Regression; scikit-learn; NumPy; pandas; Data Wrangling; Linear Algebra; Probability Theory; iPython; Network Analysis; Statistical Inference; Elementary
Предисловие
Условные обозначения, принятые в книге
Использование примеров кода
Благодарности
Предисловие к первому изданию
Наука о данных
С нуля
Комментарий переводчика
Об авторе
Глава 1. Введение
Воцарение данных
Что такое наука о данных?
Оправдание для выдумки: DataSciencester
Выявление ключевых звеньев
Исследователи данных, которых вы должны знать
Зарплаты и опыт работы
Оплата аккаунтов
Интересующие темы
Поехали!
Глава 2. Интенсивный курс языка Python
Дзен языка Python
Установка языка Python
Виртуальные среды
Пробельное форматирование
Модули
Функции
Строки
Исключения
Списки
Кортежи
Словари
Словарь defaultdict
Счетчики
Множества
Поток управления
Истинность
Сортировка
Включения в список
Автоматическое тестирование и инструкция assert
Объектно-ориентированное программирование
Итерируемые объекты и генераторы
Случайность
Регулярные выражения
Функциональное программирование
Функция zip и распаковка аргументов
Переменные args и kwargs
Аннотации типов
Как писать аннотации типов
Добро пожаловать в DataSciencester!
Для дальнейшего изучения
Глава 3. Визуализация данных
Библиотека matplotlib
Столбчатые графики
Линейные графики
Диаграммы рассеяния
Для дальнейшего изучения
Глава 4. Линейная алгебра
Векторы
Матрицы
Для дальнейшего изучения
Глава 5. Статистика
Описание одиночного набора данных
Центральные тенденции
Вариация
Корреляция
Парадокс Симпсона
Некоторые другие корреляционные ловушки
Корреляция и причинно-следственная связь
Для дальнейшего изучения
Глава 6. Вероятность
Взаимная зависимость и независимость
Условная вероятность
Теорема Байеса
Случайные величины
Непрерывные распределения
Нормальное распределение
Центральная предельная теорема
Для дальнейшего изучения
Глава 7. Гипотеза и вывод
Проверка статистической гипотезы
Пример: бросание монеты
Р-значения
Доверительные интервалы
Взлом р-значения
Пример: проведение А/В-тестирования
Байесов вывод
Для дальнейшего изучения
Глава 8. Градиентный спуск
Идея в основе градиентного спуска
Оценивание градиента
Использование градиента
Выбор правильного размера шага
Применение градиентного спуска для подгонки моделей
Мини-пакетный и стохастический градиентный спуск
Для дальнейшего изучения
Глава 9. Получение данных
Объекты stdin и stdout
Чтение файлов
Основы текстовых файлов
Файлы с разделителями
Выскабливание Всемирной паутины
HTML и его разбор
Пример: слежение за Конгрессом
Использование интерфейсов API
Форматы JSON и XML
Использование неаутентифицированного API
Отыскание API-интерфейсов
Пример: использование API-интерфейсов Twitter
Получение учетных данных
Использование библиотеки Twython
Для дальнейшего изучения
Глава 10. Работа с данными
Разведывательный анализ данных
Разведывание одномерных данных
Двумерные данные
Многочисленные размерности
Применение типизированных именованных кортежей
Классы данных dataclasses
Очистка и конвертирование
Оперирование данными
Шкалирование
Ремарка: библиотека tqdm
Снижение размерности
Для дальнейшего изучения
Глава 11. Машинное обучение
Моделирование
Что такое машинное обучение?
Переподгонка и недоподгонка
Правильность, точность и прецизионность
Компромисс между смещением и дисперсией
Извлечение и отбор признаков
Для дальнейшего изучения
Глава 12. к ближайших соседей
Модель
Пример: набор данных о цветках ириса
Проклятие размерности
Для дальнейшего изучения
Глава 13. Наивный Байес
Реально глупый спам-фильтр
Более изощренный спам-фильтр
Имплементация
Тестирование модели
Применение модели
Для дальнейшего изучения
Глава 14. Простая линейная регрессия
Модель
Применение градиентного спуска
Оценивание максимального правдоподобия
Для дальнейшего изучения
Глава 15. Множественная регрессия
Модель
Расширенные допущения модели наименьших квадратов
Подгонка модели
Интерпретация модели
Качество подгонки
Отступление: размножение выборок
Стандартные ошибки регрессионных коэффициентов
Регуляризация
Для дальнейшего изучения
Глава 16. Логистическая регрессия
Задача
Логистическая функция
Применение модели
Качество подгонки
Машины опорных векторов
Для дальнейшего изучения
Глава 17. Деревья решений
Что такое дерево решений?
Энтропия
Энтропия подразделения
Создание дерева решений
Собираем все вместе
Случайные леса
Для дальнейшего изучения
Глава 18. Нейронные сети
Персептроны
Нейронные сети прямого распространения
Обратное распространение
Пример: задача Fizz Buzz
Для дальнейшего изучения
Глава 19. Глубокое обучение
Тензор
Абстракция слоя
Линейный слой
Нейронные сети как последовательность слоев
Потеря и оптимизация
Пример: сеть XOR еще раз
Другие активационные функции
Пример: задача Fizz Buzz еще раз
Функции softmax и перекрестная энтропия
Слой отсева
Пример: набор данных MN1ST
Сохранение и загрузка моделей
Для дальнейшего изучения
Глава 20. Кластеризация
Идея
Модель
Пример: встречи ИТ-специалистов
Выбор числа к
Пример: кластеризация цвета
Восходящая иерархическая кластеризация
Для дальнейшего изучения
Глава 21. Обработка естественного языка
Облака слов
N-граммные языковые модели
Грамматики
Ремарка: генерирование выборок по Гиббсу
Тематическое моделирование
Векторы слов
Рекуррентные нейронные сети
Пример: использование RNN-сети уровня букв
Для дальнейшего изучения
Глава 22. Сетевой анализ
Центральность по посредничеству
Центральность по собственному вектору
Умножение матриц
Центральность
Ориентированные графы и алгоритм PageRank
Для дальнейшего изучения
Глава 23. Рекомендательные системы
Неавтоматическое кураторство
Рекомендация популярных тем
Коллаборативная фильтрация по схожести пользователей
Коллаборативная фильтрация по схожести предметов
Разложение матрицы
Для дальнейшего изучения
Глава 24. Базы данных и SQL
Инструкции CREATE TABLE и INSERT
Инструкция UPDATE
Инструкция DELETE
Инструкция SELECT
Инструкция GROUP BY
Инструкция ORDER BY
Инструкция JOIN
Подзапросы
Индексы
Оптимизация запросов
Базы данных NoSQL
Для дальнейшего изучения
Глава 25. Алгоритм MapReduce
Пример: подсчет количества появлений слов
Почему алгоритм MapReduce?
Алгоритм MapReduce в более общем плане
Пример: анализ обновлений новостной ленты
Пример: умножение матриц
Ремарка: комбинаторы
Для дальнейшего изучения
Глава 26. Этика данных
Что такое этика данных?
Нет, ну правда, что же такое этика данных?
Должен ли я заботиться об этике данных?
Создание плохих продуктов данных
Компромисс между точностью и справедливостью
Сотрудничество
Интерпретируемость
Рекомендации
Предвзятые данные
Защита данных
Резюме
Для дальнейшего изучения
Глава 27. Идите вперед и займитесь наукой о данных
Программная оболочка IPython
Математика
Не с нуля
Библиотека NumPy
Библиотека pandas
Библиотека scikit-leam
Визуализация
Язык R
Глубокое обучение
Отыщите данные
Займитесь наукой о данных
Новости хакера
Пожарные машины
Футболки
Твиты по всему глобусу
А вы?
Предметный указатель