Книга содержит около 200 задач машинного обучения, таких как загрузка и обработка текстовых или числовых данных, отбор модели и многие другие. Рассмотрена работа с языком Python, библиотеками pandas и scikit-learn. Коды примеров можно вставлять, объединять и адаптировать, создавая собственное приложение. Приведены рецепты решений с использованием: векторов, матриц и массивов; данных из CSV, JSON, SQL, баз данных, облачных хранилищ и других источников; обработки данных, текста, изображений, дат и времени; уменьшения размерности и методов выделения или отбора признаков; оценивания и отбора моделей; линейной и логистической регрессии, деревьев, лесов и к ближайших соседей; опорно-векторных машин (SVM), наивных байесовых классификаторов, кластеризации и нейронных сетей; сохранения и загрузки натренированных моделей.
Во втором издании все примеры обновлены, рассмотрены задачи и фреймворки глубокого обучения, расширены разделы с тензорами, нейронными сетями и библиотекой глубокого обучения PyTorch.

Загрузка данных.
Создание любой модели машинного обучения всегда начинается с загрузки необработанных данных в систему. Эти данные могут включать логи (журнальные файлы), наборы данных или облачные хранилища BLOB-объектов (например, Amazon S3). Более того, нам зачастую необходимо получать данные из различных источников.
В этой главе мы рассмотрим методы загрузки данных из различных источников, включая CSV-файлы и базы данных SQL. Кроме того, мы изучим способы генерирования искусственных данных с заданными параметрами для тестирования. В процессе изучения различных методов загрузки данных в экосистеме Python мы уделим особое внимание методам загрузки внешних данных при помощи инструментов модуля pandas и созданию искусственных данных посредством библиотеки scikit-learn, написанной на языке Python и предназначенной для машинного обучения.
ОГЛАВЛЕНИЕ.
Введение.
Условные обозначения.
Использование примеров кода.
Благодарности.
ГЛАВА 1. Работа с векторами, матрицами и массивами в NumPy.
Введение.
1.1. Создание вектора.
1.2. Создание матрицы.
1.3. Создание разреженной матрицы.
1.4. Предварительное распределение массивов в NumPy.
1.5. Обращение к элементу массива.
1.6. Описание матрицы.
1.7. Использование функций для каждого элемента.
1.8. Поиск наибольших и наименьших значений.
1.9. Вычисление среднего значения, дисперсии и стандартного отклонения.
1.10. Изменение формы массива.
1.11. Транспонирование вектора или матрицы.
1.12. Преобразование матрицы в одномерный вектор.
1.13. Определение ранга матрицы.
1.14. Вывод диагонали матрицы.
1.15. Вычисление суммы по диагонали матрицы.
1.16. Вычисление скалярного произведения.
1.17. Сложение и вычитание матриц.
1.18. Умножение матриц.
1.19. Создание обратной матрицы.
1.20. Генерация псевдослучайных значений.
ГЛАВА 2. Загрузка данных.
Введение.
2.1. Загрузка готового набора данных.
2.2. Создание искусственного набора данных.
2.3. Загрузка СSV-файла.
2.4. Загрузка файла Excel.
2.5. Загрузка файла JSON.
2.6. Загрузка файла Parquet.
2.7. Загрузка файла Avro.
2.8. Запрос к базе данных SQLite.
2.9. Удаленное подключение к базе данных SQL.
2.10. Загрузка данных из Google Sheet.
2.11. Загрузка данных из S3 bucket.
2.12. Загрузка неструктурированных данных.
ГЛАВА 3. Первичная обработка данных.
Введение.
3.1. Создание DataFrame.
3.2. Получение информации о данных.
3.3. Срез DataFrame.
3.4. Выбор строк на основе условных конструкций.
3.5. Сортировка значений.
3.6. Замена значений.
3.7. Переименование столбцов.
3.8. Нахождение наименьшего, наибольшего и среднего значения, суммы и количества значений.
3.9. Поиск уникальных значений.
3.10. Отбор отсутствующих значений.
3.11. Удаление столбца.
3.12. Удаление строки.
3.13. Удаление дубликатов.
3.14. Группировка строк по значениям.
3.15. Группировка строк по времени.
3.16. Агрегатные операции и статистика.
3.17. Обход столбца в цикле.
3.18. Применение функции ко всем элементам столбца.
3.19. Применение функции к группам.
3.20. Конкатенация структур данных DataFrame.
3.21. Слияние структур данных DataFrame.
ГЛАВА 4. Управление количественными данными.
Введение.
4.1. Масштабирование признака.
4.2. Стандартизация признака.
4.3. Нормализация наблюдаемых данных.
4.4. Генерирование полиномиальных и взаимодействующих признаков.
4.5. Преобразование признаков.
4.6. Обнаружение выбросов.
4.7. Управление выбросами.
4.8. Дискретизация признаков.
4.9. Группирование наблюдений при помощи кластеризации.
4.10. Удаление элементов с отсутствующим значением.
4.11. Восстановление пропущенных значений.
ГЛАВА 5. Управление категориальными данными.
Введение.
5.1. Преобразование признаков с номинальными категориями.
5.2. Преобразование признаков с порядковыми категориями.
5.3. Преобразование словарей признаков.
5.4. Восстановление классов пропущенных значений.
5.5. Управление несбалансированными классами.
ГЛАВА 6. Обработка текста.
Введение.
6.1. Очистка текста.
6.2. Синтаксический анализ и очистка НТМL-документов.
6.3. Удаление знаков препинания.
6.4. Токенизация текста.
6.5. Удаление стоп-слов.
6.6. Стемминг слов.
6.7. Разметка частей речи.
6.8. Распознавание именованных сущностей.
6.9. Представление текста в виде мешка слов.
6.10. Оценка значимости слов.
6.11. Использование векторизации текстов для измерения соответствия текста поисковому запросу.
6.12. Использование анализа тональности при классификации.
ГЛАВА 7. Обработка данных даты и времени.
Введение.
7.1. Преобразование строк в даты.
7.2. Работа с часовыми поясами.
7.3. Выбор даты и времени.
7.4. Разложение временных данных на отдельные признаки.
7.5. Вычисление разницы между датами.
7.6. Вычисление дней недели.
7.7. Создание признаков с запаздыванием по времени.
7.8. Использование метода скользящего окна.
7.9. Обработка пропущенных значений во временных рядах.
ГЛАВА 8. Работа с изображениями.
Введение.
8.1. Загрузка изображений.
8.2. Сохранение изображений.
8.3. Измерение размера изображений.
8.4. Кадрирование изображений.
8.5. Размытие изображений.
8.6. Настройка резкости изображений.
8.7. Увеличение контраста.
8.8. Распознавание цветов.
8.9. Бинаризация изображений.
8.10. Удаление фона.
8.11. Определение границ.
8.12. Обнаружение углов.
8.13. Создание признаков для машинного обучения.
8.14. Создание гистограмм цветов в виде признаков.
8.15. Использование пред обученных эмбеддингов в качестве признаков.
8.16. Распознавание объектов при помощи OpenCV.
8.17. Классификация изображений при помощи Pytorch.
ГЛАВА 9. Снижение размерности через выделение признаков.
Введение.
9.1. Сокращение признаков при помощи главных компонент.
9.2. Сокращение признаков у линейно неразделимых данных.
9.3. Сокращение признаков при помощи повышения разделимости классов.
9.4. Сокращение признаков при помощи разложения матрицы.
9.5. Сокращение признаков разреженных данных.
ГЛАВА 10. Снижение размерности через отбор признаков.
Введение.
10.1. Пороговый отбор числовых признаков дисперсии.
10.2. Пороговый отбор дисперсии бинарных признаков.
10.3. Обработка признаков с высоким коэффициентом корреляции.
10.4. Удаление нерелевантных для классификации признаков.
10.5. Рекурсивное исключение признаков.
ГЛАВА 11. Оценка модели.
Введение.
11.1. Модели на основе кросс-валидации.
11.2. Создание базовой регрессионной модели.
11.3. Создание базовой модели классификации.
11.4. Оценка предсказаний бинарного классификатора.
11.5. Оценка порогов бинарного классификатора.
11.6. Оценка прогнозов многоклассового классификатора.
11.7. Визуализация показателей качества классификации.
11.8. Оценка регрессионных моделей.
11.9. Оценки моделей кластеризации.
11.10. Создание собственной оценочной метрики.
11.11. Визуализация зависимости показателей от размера обучающего набора.
11.12. Создание текстового отчета с метриками качества.
11.13. Визуализация влияния значений гиперпараметров.
ГЛАВА 12. Выбор модели.
Введение.
12.1. Поиск лучших моделей методом полного перебора.
Обсуждение.
12.2. Случайный поиск лучших моделей.
12.3. Поиск лучшей модели среди множества алгоритмов обучения.
12.4. Поиск лучшей модели в процессе первичной обработки.
12.5. Ускорение поиска модели через распараллеливание.
12.6. Ускорение поиска модели с помощью алгоритмических методов.
12.7. Оценка качества после выбора модели.
ГЛАВА 13. Линейная регрессия.
Введение.
13.1. Настройка линейной связи.
13.2. У правление взаимосвязанными коэффициентами.
13.3. Настройка нелинейной взаимосвязи.
13.4. Уменьшение дисперсии через регуляризацию.
13.5. Уменьшение дисперсии через лассо-регрессию.
ГЛАВА 14. Деревья и леса.
Введение.
14.1. Обучение классификатора на основе деревьев решений.
14.2. Обучение регрессора с помощью деревьев решений.
14.3. Визуализация модели деревьев решений.
14.4. Обучение классификатора на основе случайного леса.
14.5. Обучение регрессора методом случайного леса.
14.6. Оценка моделей случайного леса методом оut-оf-Ьаg-ошибки.
14.7. Определение ключевых признаков в моделях случайного леса.
14.8. Выбор ключевых признаков в моделях случайного леса.
14.9. Управление несбалансированными классами.
14.10. Контроль размера дерева.
14.11. Улучшение качества через бустинг.
14.12. Обучение модели на основе алгоритма XGBoost.
14.13. Улучшение производительности при помощи LightGBM.
ГЛАВА 15. Метод k ближайших соседей.
Введение.
15.1. Определение ближайших соседей для наблюдения.
15.2. Создание классификатора на основе k ближайших соседей.
15.3. Определение оптимального количества ближайших соседей.
15.4. Создание классификатора методом ближайших соседей в заданном радиусе.
15.5. Поиск приближенных ближайших соседей.
15. 6. Оценка метода приближенных ближайших соседей.
ГЛАВА 16. Логистическая регрессия.
Введение.
16.1. Обучение бинарного классификатора.
16.2. Обучение многоклассового классификатора.
16.3. Уменьшение дисперсии за счет регуляризации.
16.4. Обучение классификатора на очень больших данных.
16.5. Управление несбалансированными классами.
ГЛАВА 17. Метод опорных векторов.
Введение.
17.1. Обучение линейного классификатора.
17.2. Управление линейно неразделимыми классами через ядра свертки.
17.3. Создание прогнозируемых вероятностей.
17.4. Поиск опорных векторов.
17.5. Управление несбалансированными классами.
ГЛАВА 18. Наивный байесовский классификатор.
Введение.
18.1. Обучение классификатора для непрерывных признаков.
18.2. Обучение классификатора для дискретных и количественных признаков.
18.3. Обучение наивного байесовского классификатора для бинарных признаков.
18.4. Калибровка прогнозируемых вероятностей.
ГЛАВА 19. Кластеризация.
Введение.
19.1. Кластеризация методом k средних.
19.2. Ускорение кластеризации методом k средних.
19.3. Кластеризация со сдвигом среднего.
19.4. Кластеризация DBSCAN.
19.5. Иерархическая кластеризация.
ГЛАВА 20. Тензоры в PyTorch.
Введение.
20.1. Создание тензора.
20.2. Создание тензора из массива NumPy.
20.3. Создание разреженного тензора.
20.4. Выбор элементов тензора.
20.5. Описание тензора.
20.6. Операции над элементами.
20.7. Поиск наибольших и наименьших значений.
20.8. Изменение формы тензоров.
20.9. Транспонирование тензора.
20.10. Преобразование в одномерный тензор.
20.11. Вычисление скалярного произведения.
20.12. Умножение тензоров.
ГЛАВА 21. Нейронные сети.
Введение.
21.1. Использование autograd в PyTorch.
21.2. Пред обработка данных для нейронных сетей.
21.3. Разработка нейронной сети.
21.4. Обучение бинарного классификатора.
21.5. Обучение многоклассового классификатора.
21.6. Обучение регрессора.
21.7. Создание прогнозов.
21.8. Визуализация истории обучения.
21.9. Регуляризация весов для снижения переобучения.
21.10. Снижение переобучения через раннюю остановку.
21.11. Уменьшение эффекта переобучения методом исключения.
21.12. Сохранение прогресса обучения модели.
21.13. Настройка нейронных сетей.
21.14. Визуализация нейронной сети.
ГЛАВА 22. Нейронные сети с неструктурированными данными.
Введение.
22.1. Обучение нейронной сети для классификации изображений.
22.2. Обучение нейронной сети для классификации текстов.
22.3. Тонкая настройка предобученной модели для классификации изображений.
22.4. Тонкая настройка предобученной модели для классификации текста.
ГЛАВА 23. Сохранение, загрузка и развертывание обученных моделей.
Введение.
23.1. Сохранение и загрузка модели scikit-leam.
23.2. Сохранение и загрузка модели TensorFlow.
23.3. Сохранение и загрузка модели PyTorch.
23.4. Развертывание моделей scikit-leam.
23.5. Развертывание моделей TensorFlow.
23.6. Развертывание моделей PyTorch через Seldon.
Предметный указатель.
Об авторах.
Об изображении на обложке.
Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Машинное обучение с использованием Python, Сборник рецептов, Галлатин К., Элбон К., 2024 - fileskachat.com, быстрое и бесплатное скачивание.
Скачать pdf
Ниже можно купить эту книгу, если она есть в продаже, и похожие книги по лучшей цене со скидкой с доставкой по всей России.Купить книги
Скачать - pdf - Яндекс.Диск.
Дата публикации:
Теги: учебник по программированию :: программирование :: Галлатин :: Элбон :: Python
Смотрите также учебники, книги и учебные материалы:
Предыдущие статьи: