Введение в машинное обучение с помощью Python

Руководство для специалистов по работе с данными.

Андреас Мюллер, Сара Гвидо»Введение в машинное обучение с помощью Python» самиздат-перевод, 2017 год, 393 стр. (13,2 мб. pdf), это перевод оригинального издания:

 

 


Introduction to Machine Learning with Python

 Andreas C. Mueller, Sarah Guido «Introduction to Machine Learning with Python» O’Reilly Media, 2016 год, 400 стр. ISBN:978-1-44936-941-5

В книге «Введение в машинное обучение с помощью Python» описывается, как можно самостоятельно и c удивительной легкостью создать модели машинного обучения (Machine Learning, ML). Прочитав эту книгу, вы сможете построить свою собственную систему машинного обучения, которая позволит манипулировать данными пользователей соц сетей или получать и прогнозировать актуальные вопросы информационного пространства.

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

Книга познакомит вас с практикой построения систем машинного обучения используя язык программирования Python, а область их применения ограничится лишь вашим воображением. Познакомитесь с библиотеками scikit-learn, NumPy и matplotlib от Python и научитесь извлекать полезную информацию при обработке массивов данных. Книга «Введение в машинное обучение с помощью Python» рассчитана на начинающих и не требует предварительных знаний в области машинного обучения или искусственного интеллекта, но знание основ программирования, а ещё лучше языка Python станет дополнительным фактором успешного обучения.

Основные направления представленные в книге:

  1. Понятия и область применения машинного обучения
  2. Плюсы и минусы широко используемых алгоритмов
  3. Способы загрузки и обработки данных
  4. Методы тонкая настройка параметров и оценки модели
  5. Построение конвейеров, объединение моделей и инкапсуляция рабочего потока
  6. Методы обработки текстовых данных
  7. Рекомендации по совершенствованию полученных знаний
Оглавление книги

ГЛАВА 1. Введение
Зачем нужно использовать машинное обучение?
Задачи, которые можно решить с помощью машинного обучения
Постановка задач и знакомство с данными
Почему нужно использовать Python?
scikit-learn
Установка scikit-learn
Основные библиотеки и инструменты
Jupyter Notebook
NumPy
SciPy
matplotlib
pandas
mglearn
Сравнение Python 2 и Python 3
Версии библиотек, используемые в этой книге
Первый пример: классификация сортов ириса
Загружаем данные
Метрики эффективности: обучающий и тестовый наборы
Сперва посмотрите на Ваши данные
Построение вашей первой модели: метод k ближайших соседей
Получение прогнозов
Оценка качества модели
Выводы и перспективы

ГЛАВА 2. Методы машинного обучения с учителем
Классификация и регрессия
Обобщающая способность, переобучение и недообучение
Взаимосвязь между сложностью модели и размером набора данных
Алгоритмы машинного обучения с учителем 45 Некоторые наборы данных
Метод k ближайших соседей
Линейные модели
Наивные байесовские классификаторы
Деревья решений
Ансамбли деревьев решений
Ядерный метод опорных векторов
Нейронные сети (глубокое обучение)
Оценки неопределенности для классификаторов
Решающая функция
Прогнозирование вероятностей
Неопределенность в мультиклассовой классификации
Выводы и перспективы машинное обучение python

ГЛАВА 3. Методы машинного обучения без учителя и предварительная обработка данных
Типы машинного обучения без учителя
Проблемы машинного обучения без учителя
Предварительная обработка и масштабирование
Различные виды предварительной обработки
Применение преобразований данных
Масштабирование обучающего и тестового наборов одинаковым образом
Влияние предварительной обработки на машинное обучение с учителем
Снижение размерности, выделение признаков и множественное обучение
Анализ главных компонент (PCA)
Факторизация неотрицательных матриц (NMF)
Множественное обучение с помощью алгоритма t-SNE
Кластеризация
Кластеризация k-средних
Агломеративная кластеризация
DBSCAN
Сравнение и оценка качества алгоритмов кластеризации
Выводы по методам кластеризации
Выводы и перспективы

ГЛАВА 4. Типы данных и конструирование признаков
Категориальные переменные
Прямое кодирование (дамми-переменные)
Числа можно закодировать в виде категорий
Биннинг, дискретизация, линейные модели и деревья
Взаимодействия и полиномы
Одномерные нелинейные преобразования
Автоматический отбор признаков
Одномерные статистики
Отбор признаков на основе модели
Итеративный отбор признаков
Применение экспертных знаний
Выводы и перспективы

ГЛАВА 5. Оценка и улучшение качества модели
Перекрестная проверка
Перекрестная проверка в scikit-learn
Преимущества перекрестной проверки
Стратифицированная k-блочная перекрестная проверка и другие стратегии
Решетчатый поиск
Простой решетчатый поиск
Опасность переобучения параметров и проверочный набор данных
Решетчатный поиск с перекрестной проверкой
Метрики качества модели и их вычисление
Помните о конечной цели
Метрики для бинарной классификации
Метрики для мультиклассовой классификации
Метрики регрессии
Использование метрик оценки для отбора модели
Выводы и перспективы

ГЛАВА 6. Объединение алгоритмов в цепочки и конвейеры
Отбор параметров с использованием предварительной обработки
Построение конвейеров
Использование конвейера, помещенного в объект GridSearchCV
Общий интерфейс конвейера
Удобный способ построения конвейеров с помощью функции make_pipeline
Работа с атрибутами этапов
Работа с атрибутами конвейера, помещенного в объект GridSearchCV
Находим оптимальные параметры этапов конвейера с помощью решетчатого поиска
Выбор оптимальной модели с помощью решетчатого поиска
Выводы и перспективы

ГЛАВА 7. Работа с текстовыми данными
Строковые типы данных
Пример применения: анализ тональности киноотзывов
Представление текстовых данных в виде «мешка слов»
Применение модели «мешка слов» к синтетическому набору данных
Модель «мешка слов» для киноотзывов
Стоп-слова
Масштабирование данных с помощью tf-idf
Исследование коэффициентов модели
Модель «мешка слов» для последовательностей из нескольких слов (n-грамм)
Продвинутая токенизация, стемминг и лемматизация
Моделирование тем и кластеризация документов
Латентное размещение Дирихле
Выводы и перспективы

ГЛАВА 8. Подведение итогов
Общий подход к решению задач машинного обучения
Вмешательство человека в работу модели
От прототипа к производству
Тестирование производственных систем
Создание своего собственного класса Estimator
Куда двигаться дальше
— Теория машинное обучение python
— Другие фреймворки и пакеты машинного обучения
— Ранжирование, рекомендательные системы и другие виды обучения
— Вероятностное моделирование, теория статистического вывода и вероятностное программирование
— Нейронные сети
— Масштабирование на больших наборах данных
— Оттачивание навыков

СкачатьPDF

Похожая литература