Data Science в действии

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

В проектах обработки и анализа данных много движущихся частей, и требуются практика и знания, чтобы создать гармоничную комбинацию кода, алгоритмов, наборов данных, форматов и визуальных представлений. Эта уникальная книга содержит описание пяти практических проектов, включая отслеживание вспышек заболеваний по заголовкам новостей, анализ социальных сетей и поиск закономерностей в данных о переходах по рекламным объявлениям. Автор не ограничивается поверхностным обсуждением теории и искусственными примерами. Исследуя представленные проекты, вы узнаете, как устранять распространенные проблемы, такие как отсутствующие и искаженные данные и алгоритмы, не соответствующие создаваемой модели. По достоинству оцените подробные инструкции по настройке и детальные обсуждения решений, в которых описываются типичные точки отказа, и обретите уверенность в своих навыках.

Author(s): Леонард Апельцин
Series: Для профессионалов
Edition: 1
Publisher: Питер
Year: 2023

Language: Russian
Commentary: Publisher's PDF
Pages: 736
City: СПб.
Tags: Machine Learning; Probabilistic Models; Natural Language Processing; Decision Trees; Data Science; Supervised Learning; Python; Data Visualization; Statistics; Logistic Regression; scikit-learn; Web Scraping; NumPy; matplotlib; pandas; Graph Theory; NetworkX; Graph Algorithms; Geospatial Data; Probability Theory; Hypothesis Testing; Network Analysis; Statistical Inference; Text Processing; Markov Models; Cartopy; Elementary; Monte Carlo Simulations; Cluster Analysis

Предисловие
Благодарности
О книге
Для кого эта книга
Структура издания
О коде
Об авторе
Иллюстрация на обложке
От издательства
Практическое задание 1. Поиск выигрышной стратегии в карточной игре
Условие задачи
Описание
Глава 1. Вычисление вероятностей с помощью Python
1.1. Анализ пространства элементарных исходов: лишенный уравнений подход для измерения неопределенности результатов
1.1.1. Анализ несимметричной монеты
1.2. Вычисление сложных вероятностей
Задача 1. Анализ семьи с четырьмя детьми
Задача 2. Анализ множества бросков игрального кубика
Задача 3. Вычисление вероятностей исходов броска кубика с помощью взвешенных вероятностных пространств
1.3. Вычисление вероятностей по диапазонам интервалов
1.3.1. Оценка крайних значений с помощью интервального анализа
Резюме
Глава 2. Графическое отображение вероятностей с помощью Matplotlib
2.1. Основные графики Matplotlib
2.2. Построение графика вероятностей исходов подбрасывания монеты
2.2.1. Сравнение нескольких распределений вероятностей исходов подбрасывания монеты
Резюме
Глава 3. Выполнение случайных симуляций в NumPy
3.1. Симулирование случайных подбрасываний монеты и бросков кубика с помощью NumPy
3.1.1. Анализ подбрасываний монеты со смещенным центром тяжести
3.2. Вычисление доверительных интервалов с помощью гистограмм и массивов NumPy
3.2.1. Сортировка схожих точек в столбчатых диаграммах
3.2.2. Получение вероятностей из гистограмм
3.2.3. Сужение диапазона высокого доверительного интервала
3.2.4. Вычисление гистограмм в NumPy
3.3. Использование доверительных интервалов для анализа смещенной колоды карт
3.4. Перетасовка карт с помощью пермутаций
Резюме
Глава 4. Решение для практического задания 1
4.1. Прогнозирование красных карт в перетасованной колоде
4.1.1. Оценка вероятности успеха стратегии
4.2. Оптимизация стратегий с помощью вероятностного пространства для колоды из десяти карт
Резюме
Практическое задание 2. Анализ значимости переходов по онлайн-объявлениям
Условие задачи
Описание набора данных
Обзор
Глава 5. Базовая вероятность и статистический анализ с помощью SciPy
5.1. Изучение связи между данными и вероятностью с помощью SciPy
5.2. Среднее значение как мера центральности
5.2.1. Поиск среднего распределения вероятностей
5.3. Дисперсия как мера рассеяния
5.3.1. Определение дисперсии распределения вероятностей
Резюме
Глава 6. Составление прогнозов с помощью центральной предельной теоремы и SciPy
6.1. Управление нормальным распределением с помощью SciPy
6.1.1. Сравнение двух нормальных кривых
6.2. Определение среднего и дисперсии совокупности с помощью случайного моделирования
6.3. Составление прогнозов на основе среднего и дисперсии
6.3.1. Вычисление площади под нормальной кривой
6.3.2. Интерпретация вычисленной вероятности
Резюме
Глава 7. Проверка статистических гипотез
7.1. Анализ расхождения между средним выборки и средним совокупности
7.2. Выуживание данных: приход к сложным выводам из-за ресэмплинга
7.3. Бутстрэппинг с восполнением: тестирование гипотез при неизвестной дисперсии совокупности
7.4. Пермутационный тест: сравнение средних выборок при неизвестных параметрах совокупности
Резюме
Глава 8. Анализ таблиц с помощью Pandas
8.1. Сохранение таблиц с помощью чистого Python
8.2. Изучение таблиц с помощью Pandas
8.3. Извлечение столбцов таблицы
8.4. Извлечение строк таблицы
8.5. Изменение строк и столбцов таблицы
8.6. Сохранение и загрузка табличных данных
8.7. Визуализация таблиц с помощью Seaborn
Резюме
Глава 9. Решение практического задания 2
9.1. Обработка таблицы переходов по объявлению в Pandas
9.2. Вычисление p-значений из разниц между средними значениями
9.3. Определение статистической значимости
9.4. Поучительная история из реальной жизни: 41 оттенок синего
Резюме
Практическое задание 3. Отслеживание вспышек заболеваний по новостным заголовкам
Условие задачи
Описание набора данных
Обзор
Глава 10. Кластеризация данных по группам
10.1. Выделение кластеров на основе центральности
10.2. K-средние: алгоритм кластеризации для группировки данных по K центральных групп
10.2.1. Кластеризация по методу K-средних с помощью scikit-learn
10.2.2. Выбор оптимального K методом локтя
10.3. Обнаружение кластеров по плотности
10.4. DBSCAN: алгоритм кластеризации для группировки данных на основе пространственной плотности
10.4.1. Сравнение DBSCAN и метода K-средних
10.4.2. Кластеризация с помощью неевклидовой метрики
10.5. Анализ кластеров с помощью Pandas
Резюме
Глава 11. Визуализация и анализ географических локаций
11.1. Расстояние по ортодромии: показатель для вычисления расстояния между двумя глобальными точками
11.2. Построение карт с помощью Cartopy
11.2.1. Установка GEOS и Cartopy вручную
11.2.2. Использование пакетного менеджера Conda
11.2.3. Визуализация карт
11.3. Отслеживание локаций с помощью GeoNamesCache
11.3.1. Получение информации о странах
Получение информации о городах
Ограничения библиотеки GeoNamesCache
11.4. Сопоставление с названиями локаций в тексте
Резюме
Глава 12. Решение практического задания 3
12.1. Извлечение локаций из заголовков
11.2. Визуализация и кластеризация извлеченных данных о локациях
12.3. Формирование выводов на основе кластеров локаций
Резюме
Практическое задание 4. Улучшение своего резюме аналитика данных на основе онлайн-вакансий
Условие задачи
Описание набора данных
Обзор
Глава 13. Измерение сходства текстов
13.1. Простое сравнение текстов
13.1.1. Изучение коэффициента Жаккара
13.1.2. Замена слов численными значениями
13.2. Векторизация текстов с помощью подсчета слов
13.2.1. Повышение качества векторов частотности терминов с помощью нормализации
13.2.2. Использование скалярного произведения единичных векторов для преобразования между параметрами релевантности
13.3. Матричное умножение для эффективного вычисления сходства
13.3.1. Базовые матричные операции
13.3.2. Вычисление сходства матриц
13.4. Вычислительные ограничения матричного умножения
Резюме
Глава 14. Уменьшение размерности матричных данных
14.1. Кластеризация двухмерных данных в одном измерении
14.1.1. Уменьшение размерности с помощью вращения
14.2. Уменьшение размерности с помощью PCA и scikit-learn
14.3. Кластеризация четырехмерных данных в двух измерениях
14.3.1. Ограничения PCA
14.4. Вычисление главных компонент без вращения
14.4.1. Извлечение собственных векторов с помощью степенного метода
14.5. Эффективное уменьшение размерности с помощью SVD и scikit-learn
Резюме
Глава 15. NLP-анализ больших текстовых наборов данных
15.1. Скачивание дискуссий онлайн-форумов с помощью scikit-learn
15.2. Векторизация документов с помощью scikit-learn
15.3. Ранжирование слов по числу вхождений и частоте встречаемости в постах
15.3.1. Вычисление векторов TF-IDF с помощью scikit-learn
15.4. Вычисление сходства среди огромных наборов документов
15.5. Кластеризация постов по темам
15.5.1. Анализ одного кластера текстов
15.6. Визуализация кластеров текстов
15.6.1. Использование подграфиков для визуализации нескольких облаков слов
Резюме
Глава 16. Извлечение текстов с веб-страниц
16.1. Структура HTML-документов
16.2. Парсинг HTML с помощью Beautiful Soup
16.3. Скачивание и парсинг онлайн-данных
Резюме
Глава 17. Решение практического задания 4
17.1. Извлечение требуемых навыков из объявлений о вакансиях
17.1.1. Анализ HTML на предмет описания навыков
17.2. Фильтрация вакансий по релевантности
17.3. Кластеризация навыков в релевантных объявлениях о вакансиях
17.3.1. Группировка навыков по 15 кластерам
17.3.2. Анализ кластеров технических навыков
17.3.3. Анализ кластеров личностных качеств
17.3.4. Анализ кластеров при других значениях K
17.3.5. Анализ 700 наиболее релевантных вакансий
17.4. Заключение
Резюме
Практическое задание 5. Прогнозирование будущих знакомств на основе данных социальной сети
Условие задачи
Внедрение алгоритма рекомендации друзей друзей
Прогнозирование поведения пользователя
Описание набора данных
Таблица Profiles
Таблица Observations
Таблица Friendships
Обзор
Глава 18. Знакомство с теорией графов и анализом сетей
18.1. Использование базовой теории графов для ранжирования сайтов по популярности
18.1.1. Анализ веб-сетей при помощи NetworkX
18.2. Использование ненаправленных графов для оптимизации поездки между городами
18.2.1. Моделирование сложной сети из городов и округов
18.2.2. Вычисление кратчайшего времени следования между узлами
Резюме
Глава 19. Динамическое применение теории графов для ранжирования узлов и анализа социальных сетей
19.1. Нахождение центральных узлов на основе ожидаемого трафика в сети
19.1.1. Измерение центральности с помощью симуляции трафика
19.2. Вычисление вероятности путешествия в тот или иной город с помощью матричного умножения
19.2.1. Выведение центральности PageRank на основе теории вероятностей
19.2.2. Вычисление центральности PageRank с помощью NetworkX
19.3. Обнаружение сообществ с помощью марковской кластеризации
19.4. Обнаружение групп друзей в социальных сетях
Резюме
Глава 20. Машинное обучение с учителем на основе сетей
20.1. Основы машинного обучения с учителем
20.2. Измерение точности прогнозирования меток
20.2.1. Функции оценки прогнозов в scikit-learn
20.3. Оптимизация эффективности KNN
20.4. Поиск по сетке с помощью scikit-learn
20.5. Ограничения алгоритма KNN
Резюме
Глава 21. Обучение линейных классификаторов с помощью логистической регрессии
21.1. Линейное деление клиентов по размеру одежды
21.2. Обучение линейного классификатора
21.2.1. Улучшение эффективности перцептрона с помощью стандартизации
21.3. Улучшение линейной классификации с помощью логистической регрессии
21.3.1. Выполнение логистической регрессии для более чем двух признаков
21.4. Обучение линейных классификаторов с помощью scikit-learn
21.4.1. Обучение мультиклассовых линейных моделей
21.5. Измерение важности признаков с помощью коэффициентов
21.6. Ограничения линейных классификаторов
Резюме
Глава 22. Обучение нелинейных классификаторов с помощью деревьев решений
22.1. Автоматическое изучение логических правил
22.1.1. Обучение вложенной модели if/else на двух признаках
22.1.2. Выбор предпочтительного признака для деления
22.1.3. Обучение моделей if/else с помощью более чем двух признаков
22.2. Обучение деревьев решений с помощью scikit-learn
22.2.1. Изучение раковых клеток на основе важности признаков
22.3. Ограничения деревьев решений
22.4. Повышение эффективности с помощью случайных лесов
22.5. Обучение случайных лесов с помощью scikit-learn
Резюме
Глава 23. Решение практического задания 5
23.1. Изучение данных
23.1.1. Анализ профилей
23.1.2. Анализ экспериментальных наблюдений
23.1.3. Анализ таблицы дружеских связей Friendships
23.2. Обучение предиктивной модели с помощью признаков сети
23.3. Добавление в модель признаков профилей
23.4. Оптимизация эффективности при конкретном наборе признаков
23.5. Интерпретация обученной модели
23.5.1. Почему столь важна обобщаемость модели?
Резюме