Машинное обучение с использованием Python. Сборник рецептов

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"

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

Author(s): Крис Элбон
Edition: 1
Publisher: БХВ-Петербург
Year: 2019

Language: Russian
Commentary: Scanned
Pages: 384
City: СПб.
Tags: Machine Learning; Neural Networks; Regression; Image Processing; Python; Classification; Clustering; Categorical Variables; Cookbook; Naive Bayes; Linear Regression; Logistic Regression; Text Wrangling; Data Wrangling; Model Evaluation; Model Selection; Dimensionality Reduction

Об авторе
Предисловие
Для кого предназначена книга
Для кого не предназначена книга
Терминология, используемая в книге
Признательности
Комментарии переводчика
Исходный код
Протокол установки библиотек
Установка библиотек Python из whl-файлов
Блокноты Jupyter
Глава 1. Векторы, матрицы, массивы
Введение
1.1. Создание вектора
1.2. Создание матрицы
1.3. Создание разреженной матрицы
1.4. Выбор элементов
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. Обращение матрицы
1.21. Генерирование случайных значений
Глава 2. Загрузка данных
Введение
2.1. Загрузка образца набора данных
2.2. Создание симулированного набора данных
2.3. Загрузка файла CSV
2.4. Загрузка файла Excel
2.5. Загрузка файла JSON
2.6. Опрашивание базы данных SQL
Глава 3. Упорядочение данных
Введение
3.1. Создание фрейма данных
3.2. Описание данных
3.3. Навигация по фреймам данных
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. Слияние фреймов данных
Глава 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. Разбор и очистка разметки HTML
6.3. Удаление знаков препинания
6.4. Лексемизация текста
6.5. Удаление стоп-слов
6.6. Выделение основ слов
6.7. Лемматизация слов
6.8. Разметка слов на части речи
6.9. Кодирование текста в качестве мешка слов
6.10. Взвешивание важности слов
Глава 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. Кодирование гистограмм цветовых каналов в качестве признаков
Глава 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. Идентификация важных признаков в случайных лесах
14.7. Отбор важных признаков в случайных лесах
14.8. Обработка несбалансированных классов
14.9. Управление размером дерева
14.10. Улучшение результативности с помощью бустинга
14.11. Оценивание случайных лесов с помощью ошибок внепакетных наблюдений
Глава 15. К ближайших соседей
Введение
15.1. Отыскание ближайших соседей наблюдения
15.2. Создание классификационной модели к ближайших соседей
15.3. Идентификация наилучшего размера окрестности
15.4. Создание радиусного классификатора ближайших соседей
Глава 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. Кластеризация с помощью к средних
19.2. Ускорение кластеризации методом к средних
19.3. Кластеризация методом сдвига к среднему
19.4. Кластеризация методом DBSCAN
19.5. Кластеризация методом иерархического слияния
Глава 20. Нейронные сети
Введение
20.1. Предобработка данных для нейронных сетей
20.2. Проектирование нейронной сети
20.3. Тренировка бинарного классификатора
20.4. Тренировка мультиклассового классификатора
20.5. Тренировка регрессора
20.6. Выполнение предсказаний
20.7. Визуализация истории процесса тренировки
20.8. Снижение переподгонки с помощью регуляризации весов
20.9. Снижение переподгонки с помощью ранней остановки
20.10. Снижение переподгонки с помощью отсева
20.11. Сохранение процесса тренировки модели
20.12. k-блочная перекрестная проверка нейронных сетей
20.13. Тонкая настройка нейронных сетей
20.14. Визуализация нейронных сетей
20.15. Классификация изображений
20.16. Улучшение результативности с помощью расширения изображения
20.17. Классификация текста
Глава 21. Сохранение и загрузка натренированных моделей
Введение
21.1. Сохранение и загрузка модели scikit-leam
21.2. Сохранение и загрузка модели Keras
Предметный указатель