Машинное обучение стало неотъемлемой частью различных коммерческих и исследовательских проектов, однако эта область не является прерогативой больших компаний с мощными аналитическими командами. Даже если вы еще новичок в использовании Python, эта книга познакомит вас с практическими способами построения систем машинного обучения. При всем многообразии
данных, доступных на сегодняшний день, применение машинного обучения ограничивается лишь вашим воображением.
Вы изучите этапы, необходимые для создания успешного проекта машинного обучения, используя Python и библиотеку scikit-learn. Авторы Андреас Мюллер и Сара Гвидо сосредоточили свое внимание на практических аспектах применения алгоритмов машинного обучения. Знание библиотек NumPy и matplotlib позволит вам извлечь из этой книги еще больше полезной информации.
ПРЕДИСЛОВИЕ
Кому стоит прочитать эту книгу
Почему мы написали эту книгу
Структура книги
Онлайн-ресурсы
Типографские соглашения
Использование примеров программного кода
Благодарности
ГЛАВА 1. ВВЕДЕНИЕ
Зачем нужно использовать машинное обучение?
Задачи, которые можно решить с помощью машинного обучения
Постановка задач и знакомство с данными
Почему нужно использовать Python?
scikit-learn
Установка scikit-learn
Основные библиотеки и инструменты
Jupyter Notebook
NumPy
SciPy
matplotlib
pandas
mglearn
Сравнение Python 2 и Python 3
Версии библиотек, используемые в этой книге
Первый пример: классификация сортов ириса
Загружаем данные
Метрики эффективности: обучающий и тестовый наборы
Сперва посмотрите на Ваши данные
Построение вашей первой модели: метод k ближайших соседей
Получение прогнозов
Оценка качества модели
Выводы и перспективы
ГЛАВА 2. МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ С УЧИТЕЛЕМ
Классификация и регрессия
Обобщающая способность, переобучение и недообучение
Взаимосвязь между сложностью модели и размером набора данных
Алгоритмы машинного обучения с учителем 45 Некоторые наборы данных
Метод k ближайших соседей
Линейные модели
Наивные байесовские классификаторы
Деревья решений
Ансамбли деревьев решений
Ядерный метод опорных векторов
Нейронные сети (глубокое обучение)
Оценки неопределенности для классификаторов
Решающая функция
Прогнозирование вероятностей
Неопределенность в мультиклассовой классификации
Выводы и перспективы
ГЛАВА 3. МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ БЕЗ УЧИТЕЛЯ И ПРЕДВАРИТЕЛЬНАЯ ОБРАБОТКА ДАННЫХ
Типы машинного обучения без учителя
Проблемы машинного обучения без учителя
Предварительная обработка и масштабирование
Различные виды предварительной обработки
Применение преобразований данных
Масштабирование обучающего и тестового наборов одинаковым образом
Влияние предварительной обработки на машинное обучение с учителем
Снижение размерности, выделение признаков и множественное обучение
Анализ главных компонент (PCA)
Факторизация неотрицательных матриц (NMF)
Множественное обучение с помощью алгоритма t-SNE
Кластеризация
Кластеризация k-средних
Агломеративная кластеризация
DBSCAN
Сравнение и оценка качества алгоритмов кластеризации
Выводы по методам кластеризации
Выводы и перспективы
ГЛАВА 4. ТИПЫ ДАННЫХ И КОНСТРУИРОВАНИЕ ПРИЗНАКОВ
Категориальные переменные
Прямое кодирование (дамми-переменные)
Числа можно закодировать в виде категорий
Биннинг, дискретизация, линейные модели и деревья
Взаимодействия и полиномы
Одномерные нелинейные преобразования
Автоматический отбор признаков
Одномерные статистики
Отбор признаков на основе модели
Итеративный отбор признаков
Применение экспертных знаний
Выводы и перспективы
ГЛАВА 5. ОЦЕНКА И УЛУЧШЕНИЕ КАЧЕСТВА МОДЕЛИ
Перекрестная проверка
Перекрестная проверка в scikit-learn
Преимущества перекрестной проверки
Стратифицированная k-блочная перекрестная проверка и другие стратегии
Решетчатый поиск
Простой решетчатый поиск
Опасность переобучения параметров и проверочный набор данных
Решетчатный поиск с перекрестной проверкой
Метрики качества модели и их вычисление
Помните о конечной цели
Метрики для бинарной классификации
Метрики для мультиклассовой классификации
Метрики регрессии
Использование метрик оценки для отбора модели
Выводы и перспективы
ГЛАВА 6. ОБЪЕДИНЕНИЕ АЛГОРИТМОВ В ЦЕПОЧКИ И КОНВЕЙЕРЫ
Отбор параметров с использованием предварительной обработки
Построение конвейеров
Использование конвейера, помещенного в объект GridSearchCV
Общий интерфейс конвейера
Удобный способ построения конвейеров с помощью функции make_pipeline
Работа с атрибутами этапов
Работа с атрибутами конвейера, помещенного в объект GridSearchCV
Находим оптимальные параметры этапов конвейера с помощью решетчатого поиска
Выбор оптимальной модели с помощью решетчатого поиска
Выводы и перспективы
ГЛАВА 7. РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ
Строковые типы данных
Пример применения: анализ тональности киноотзывов
Представление текстовых данных в виде «мешка слов»
Применение модели «мешка слов» к синтетическому набору данных
Модель «мешка слов» для киноотзывов
Стоп-слова
Масштабирование данных с помощью tf-idf
Исследование коэффициентов модели
Модель «мешка слов» для последовательностей из нескольких слов (n-грамм)
Продвинутая токенизация, стемминг и лемматизация
Моделирование тем и кластеризация документов
Латентное размещение Дирихле
Выводы и перспективы
ГЛАВА 8. ПОДВЕДЕНИЕ ИТОГОВ
Общий подход к решению задач машинного обучения
Вмешательство человека в работу модели
От прототипа к производству
Тестирование производственных систем
Создание своего собственного класса Estimator
Куда двигаться дальше
- Теория
- Другие фреймворки и пакеты машинного обучения
- Ранжирование, рекомендательные системы и другие виды обучения
- Вероятностное моделирование, теория статистического вывода и вероятностное программирование
- Нейронные сети
- Масштабирование на больших наборах данных
- Оттачивание навыков
Название: Введение в машинное обучение с помощью Python. Руководство для специалистов по работе с данными
Автор: Андреас Мюллер, Сара Гвидо
Год: 2017
Жанр: копмпьютерная
Издательство: Самиздат
Язык: Русский
Формат: pdf
Качество: eBook
Размер: 13 MB
Скачать Андреас Мюллер, Сара Гвидо - Введение в машинное обучение с помощью Python. Руководство для специалистов по работе с данными (2017)
Скачать Skymonk по прямой ссылке