а мюллер с гвидо введение в машинное обучение с помощью python
Введение в машинное обучение с помощью Python, Мюллер А., Гвидо С., 2017
Введение в машинное обучение с помощью Python, Мюллер А., Гвидо С., 2017.
Эта книга – фантастический, суперпрактический ресурс для каждого, кто хочет начать использовать машинное обучение в Python – как жаль, что когда я начинала использовать scikit-learn, этой книги не было.
Машинное обучение стало неотъемлемой частью различных коммерческих и исследовательских проектов, однако эта область не является прерогативой больших компаний с мощными аналитическими командами. Даже если вы еще новичок в использовании Python, эта книга познакомит вас с практическими способами построения систем машинного обучения. При всем многообразии данных, доступных на сегодняшний день, применение машинного обучения ограничивается лишь вашим воображением.
Зачем нужно использовать машинное обучение?
На заре появления «интеллектуальных» приложений многие системы использовали жесткие правила «if» и «else» для обработки данных или корректировки информации, введенной пользователем. Вспомните о спам-фильтре, чья работа состоит в том, чтобы переместить соответствующие входящие сообщения электронной почты в папку «Спам». Вы можете составить черный список слов, которые будут идентифицировать письмо как спам. Это пример использования системы экспертных правил для разработки «интеллектуального» приложения. Разработка правил принятия решений в ручном режиме допустимо в некоторых задачах, особенно в тех, где люди четко понимают процесс моделирования. Однако, использование жестких решающих правил имеет два основных недостатка:
• Логика, необходимая для принятия решения, относится исключительно к одной конкретной области и задачи. Даже несущественное изменение задачи может повлечь за собой переписывание всей системы.
• Разработка правил требует глубокого понимания процесса принятия решения.
Один из примеров, где этот жесткий подход потерпит неудачу – это распознавание лиц на изображениях. На сегодняшний день каждый смартфон может распознать лицо на изображении. Тем не менее, распознавание лиц была нерешенной проблемой, по крайней мере, до 2001 года. Основная проблема заключается в том, что способ, с помощью которого компьютер «воспринимает» пиксели, формирующие изображение на компьютере, очень сильно отличается от человеческого восприятия лица. Эта разница в принципе не позволяет человеку сформулировать подходящий набор правил, описывающих лицо с точки зрения цифрового изображения.
СОДЕРЖАНИЕ.
ПРЕДИСЛОВИЕ.
Кому стоит прочитать эту книгу.
Почему мы написали эту книгу.
Структура книги.
Онлайн-ресурсы.
Типографские соглашения.
Использование примеров программного кода.
Благодарности.
ГЛАВА 1. ВВЕДЕНИЕ.
Зачем нужно использовать машинное обучение?.
Задачи, которые можно решить с помощью машинного обучения.
Постановка задач и знакомство с данными.
Почему нужно использовать Python?.
scikit-learn.
Установка scikit-learn.
Основные библиотеки и инструменты.
Jupyter Notebook.
NumPy.
SciPy.
matplotlib.
pandas.
mglearn.
Сравнение Python 2 и Python 3.
Версии библиотек, используемые в этой книге.
Первый пример: классификация сортов ириса.
Загружаем данные.
Метрики эффективности: обучающий и тестовый наборы.
Сперва посмотрите на Ваши данные.
Построение вашей первой модели: метод k ближайших соседей.
Получение прогнозов.
Оценка качества модели.
Выводы и перспективы.
ГЛАВА 2. МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ С УЧИТЕЛЕМ.
Классификация и регрессия.
Обобщающая способность, переобучение и недообучение.
Взаимосвязь между сложностью модели и размером набора данных.
Алгоритмы машинного обучения с учителем.
Некоторые наборы данных.
Метод k ближайших соседей.
Линейные модели.
Наивные байесовские классификаторы.
Деревья решений.
Ансамбли деревьев решений.
Ядерный метод опорных векторов.
Нейронные сети (глубокое обучение).
Оценки неопределенности для классификаторов.
Решающая функция.
Прогнозирование вероятностей.
Неопределенность в мультиклассовой классификации.
Выводы и перспективы.
ГЛАВА 3. МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ БЕЗ УЧИТЕЛЯ И ПРЕДВАРИТЕЛЬНАЯ ОБРАБОТКА ДАННЫХ.
Типы машинного обучения без учителя.
Проблемы машинного обучения без учителя.
Предварительная обработка и масштабирование.
Различные виды предварительной обработки.
Применение преобразований данных.
Масштабирование обучающего и тестового наборов одинаковым образом.
Влияние предварительной обработки на машинное обучение с учителем.
Снижение размерности, выделение признаков и множественное обучение.
Анализ главных компонент (PCA).
Факторизация неотрицательных матриц (NMF).
Множественное обучение с помощью алгоритма t-SNE.
Кластеризация.
Кластеризация k-средних.
Агломеративная кластеризация.
DBSCAN.
Сравнение и оценка качества алгоритмов кластеризации.
Выводы по методам кластеризации.
Выводы и перспективы.
ГЛАВА 4. ТИПЫ ДАННЫХ И КОНСТРУИРОВАНИЕ ПРИЗНАКОВ.
Категориальные переменные.
Прямое кодирование (дамми-переменные).
Числа можно закодировать в виде категорий.
Биннинг, дискретизация, линейные модели и деревья.
Взаимодействия и полиномы.
Одномерные нелинейные преобразования.
Автоматический отбор признаков.
Одномерные статистики.
Отбор признаков на основе модели.
Итеративный отбор признаков.
Применение экспертных знаний.
Выводы и перспективы.
ГЛАВА 5. ОЦЕНКА И УЛУЧШЕНИЕ КАЧЕСТВА МОДЕЛИ.
Перекрестная проверка.
Перекрестная проверка в scikit-learn.
Преимущества перекрестной проверки.
Стратифицированная k-блочная перекрестная проверка и другие стратегии.
Решетчатый поиск.
Простой решетчатый поиск.
Опасность переобучения параметров и проверочный набор данных.
Решетчатный поиск с перекрестной проверкой.
Метрики качества модели и их вычисление.
Помните о конечной цели.
Метрики для бинарной классификации.
Метрики для мультиклассовой классификации.
Метрики регрессии.
Использование метрик оценки для отбора модели.
Выводы и перспективы.
ГЛАВА 6. ОБЪЕДИНЕНИЕ АЛГОРИТМОВ В ЦЕПОЧКИ И КОНВЕЙЕРЫ.
Отбор параметров с использованием предварительной обработки.
Построение конвейеров.
Использование конвейера, помещенного в объект GridSearchCV.
Общий интерфейс конвейера.
Удобный способ построения конвейеров с помощью функции make_pipeline.
Работа с атрибутами этапов.
Работа с атрибутами конвейера, помещенного в объект GridSearchCV.
Находим оптимальные параметры этапов конвейера с помощью решетчатого поиска.
Выбор оптимальной модели с помощью решетчатого поиска.
Выводы и перспективы.
ГЛАВА 7. РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ.
Строковые типы данных.
Пример применения: анализ тональности киноотзывов.
Представление текстовых данных в виде «мешка слов».
Применение модели «мешка слов» к синтетическому набору данных.
Модель «мешка слов» для киноотзывов.
Стоп-слова.
Масштабирование данных с помощью tf-idf.
Исследование коэффициентов модели.
Модель «мешка слов» для последовательностей из нескольких слов (n-грамм).
Продвинутая токенизация, стемминг и лемматизация.
Моделирование тем и кластеризация документов.
Латентное размещение Дирихле.
Выводы и перспективы.
ГЛАВА 8. ПОДВЕДЕНИЕ ИТОГОВ.
Общий подход к решению задач машинного обучения.
Вмешательство человека в работу модели.
От прототипа к производству.
Тестирование производственных систем.
Создание своего собственного класса Estimator.
Куда двигаться дальше.
Теория.
Другие фреймворки и пакеты машинного обучения.
Ранжирование, рекомендательные системы и другие виды обучения.
Вероятностное моделирование, теория статистического вывода и вероятностное программирование.
Нейронные сети.
Масштабирование на больших наборах данных.
Оттачивание навыков.
Заключение.
Скачать pdf
Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России. Купить эту книгу
А мюллер с гвидо введение в машинное обучение с помощью python
РУССКИЙ ПЕРЕВОД КНИГИ АНДРЕАСА МЮЛЛЕРА И САРЫ ГВИДО «INTRODUCTION TO MACHINE LEARNING WITH PYTHON»
Эта книга организована примерно следующим образом:
В главе 1 «Введение» кратко рассказывается об основных понятиях машинного обучения и сферах его применения, а также описана установка основных библиотек, которые мы будем использовать на протяжении всей книги.
В главах 2 «Методы машинного обучения с учителем» и 3 «Методы машинного обучения без учителя и предварительная обработка данных» освещаются актуальные алгоритмы машинного обучения, которые широко используются на практике, и обсуждаются их преимущества и недостатки.
В главе 4 «Типы данных и конструирование признаков» обсуждается важность определенного представления данных, которое можно получить с помощью алгоритмов машинного обучения, а также рассказывается о том, какие аспекты данных требуют внимания.
В главе 5 «Оценка и улучшение качества модели» освещаются передовые методы, предназначенные для оценки качества модели и настройки параметров, при этом особое внимание уделено перекрестной проверке и решетчатому поиску.
В главе 6 «Объединение алгоритмов в цепочки и конвейеры» излагаются принципы построения конвейеров для связывания моделей в единую цепочку и инкапсуляции рабочего потока.
В главе 7 «Работа с текстовыми данными» рассказывается о том, как применять методы, описанные в предыдущих главах, к текстовым данным, а также кратко описываются некоторые методы обработки текста.
В главе 8 дается общий обзор различных аспектов машинного обучения. Несмотря на то, что в главах 2 и 3 дается описание наиболее популярных алгоритмов, вполне возможно, что начинающему специалисту совсем не обязательно знать их все. Если вам необходимо в сжатые сроки построить систему машинного обучения, мы предлагаем начать чтение книги с главы 1 и начальных разделов главы 2, в которых кратко рассказывается об основных принципах машинного обучения. Затем вы можно перейти к разделу «Выводы и перспективы» в главе 2, который включает в себя обзор всех моделей машинного обучения с учителем, освещаемых в этой книге. Вы можете выбрать модель, которая наилучшим образом соответствует вашим задачам, и вернуться в раздел, посвященный этой модели, чтобы ознакомиться с деталями. Затем вы можете воспользоваться методами, описанными в главе 5, чтобы оценить качество модели и настроить ее параметры.
Подготовка к работе с книгой
Перенесите папку Data в корневой каталог диска. Лучше всего для работы с программным кодом данной книги установить дистрибутив Anaconda https://www.continuum.io/downloads. Предпочтительнее устанавливать 64-битную версию. Вручную укажите путь: C:/Anaconda3. В ходе выполнения примеров программного кода вам потребуется библиотека mglearn. Установите ее с помощью команды pip install mglearn в вашем терминале. Эта книга предполагает, что у вас установлена scikit-learn версии 0.18 или более свежая. Модуль model_selection появился в версии 0.18, и если вы используете более раннюю версию scikit-learn, вам нужно обновить scikit-learn, чтобы воспользоваться этим модулем. Например, если вы установили пакет Anaconda для Windows, воспользуйтесь менеджером conda:
Для построения диаграмм деревьев решений необходимо установить conda-пакет graphviz и pip-пакет graphviz:
Затем в переменной окружения PATH необходимо прописать полный путь к установленной папке graphviz. Например, в Windows 7 для этого нажмите кнопку Пуск, выберите Панель управления. Дважды нажмите на Система, затем выберите Дополнительные параметры системы. Во вкладке Дополнительно нажмите на Переменные среды. Выберите Path и нажмите на Изменить. В поле Значение переменной введите путь к папке graphviz (например, C:\Anaconda3\Library\bin\graphviz).
В файле plot_grid_search.py (он будет установлен в папку C:\Anaconda3\Lib\site-packages\mglearn) строку
поменять на строку
Вы можете выполнять примеры, пользуясь программным кодом книги или, что более удобнее, интерактивными тетрадями (файлы *.ipynb). Если вы используете программный код книги, обратите внимание, что первый блок программного кода каждой главы должен выглядеть следующим образом:
Чтобы воспользоваться тетрадями, в Windows 7 нажмите кнопку Пуск, выберите Anaconda3 (64-bit) и затем Jupiter Notebook. С помощью кнопки Upload загрузите интересующую вас интерактивную тетрадь. Комментарии к программному коду книги и тетрадей полностью русифицированы.
Проблемы с запуском кода и опечатки
Опечатки, допущенные в оригинальной книге, сверялись со списком опечаток http://www.oreilly.com/catalog/errata.csp?isbn=0636920030515. Программный код глав полностью рабочий по состоянию на 29.05.2018. В главе 7 программный код ln[39]-ln[40] не выполняется из-за изменения интерфейса библиотеки spaCy (в настоящий момент проблема решается автором).
About
Русский перевод книги Андреаса Мюллера и Сары Гвидо Introduction to ML with Python
Введение в машинное обучение с помощью Python, Мюллер А., Гвидо С., 2017
Введение в машинное обучение с помощью Python, Мюллер А., Гвидо С., 2017.
Эта книга – фантастический, суперпрактический ресурс для каждого, кто хочет начать использовать машинное обучение в Python – как жаль, что когда я начинала использовать scikit-learn, этой книги не было.
Машинное обучение стало неотъемлемой частью различных коммерческих и исследовательских проектов, однако эта область не является прерогативой больших компаний с мощными аналитическими командами. Даже если вы еще новичок в использовании Python, эта книга познакомит вас с практическими способами построения систем машинного обучения. При всем многообразии данных, доступных на сегодняшний день, применение машинного обучения ограничивается лишь вашим воображением.
Зачем нужно использовать машинное обучение?
На заре появления «интеллектуальных» приложений многие системы использовали жесткие правила «if» и «else» для обработки данных или корректировки информации, введенной пользователем. Вспомните о спам-фильтре, чья работа состоит в том, чтобы переместить соответствующие входящие сообщения электронной почты в папку «Спам». Вы можете составить черный список слов, которые будут идентифицировать письмо как спам. Это пример использования системы экспертных правил для разработки «интеллектуального» приложения. Разработка правил принятия решений в ручном режиме допустимо в некоторых задачах, особенно в тех, где люди четко понимают процесс моделирования. Однако, использование жестких решающих правил имеет два основных недостатка:
• Логика, необходимая для принятия решения, относится исключительно к одной конкретной области и задачи. Даже несущественное изменение задачи может повлечь за собой переписывание всей системы.
• Разработка правил требует глубокого понимания процесса принятия решения.
Один из примеров, где этот жесткий подход потерпит неудачу – это распознавание лиц на изображениях. На сегодняшний день каждый смартфон может распознать лицо на изображении. Тем не менее, распознавание лиц была нерешенной проблемой, по крайней мере, до 2001 года. Основная проблема заключается в том, что способ, с помощью которого компьютер «воспринимает» пиксели, формирующие изображение на компьютере, очень сильно отличается от человеческого восприятия лица. Эта разница в принципе не позволяет человеку сформулировать подходящий набор правил, описывающих лицо с точки зрения цифрового изображения.
СОДЕРЖАНИЕ.
ПРЕДИСЛОВИЕ.
Кому стоит прочитать эту книгу.
Почему мы написали эту книгу.
Структура книги.
Онлайн-ресурсы.
Типографские соглашения.
Использование примеров программного кода.
Благодарности.
ГЛАВА 1. ВВЕДЕНИЕ.
Зачем нужно использовать машинное обучение?.
Задачи, которые можно решить с помощью машинного обучения.
Постановка задач и знакомство с данными.
Почему нужно использовать Python?.
scikit-learn.
Установка scikit-learn.
Основные библиотеки и инструменты.
Jupyter Notebook.
NumPy.
SciPy.
matplotlib.
pandas.
mglearn.
Сравнение Python 2 и Python 3.
Версии библиотек, используемые в этой книге.
Первый пример: классификация сортов ириса.
Загружаем данные.
Метрики эффективности: обучающий и тестовый наборы.
Сперва посмотрите на Ваши данные.
Построение вашей первой модели: метод k ближайших соседей.
Получение прогнозов.
Оценка качества модели.
Выводы и перспективы.
ГЛАВА 2. МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ С УЧИТЕЛЕМ.
Классификация и регрессия.
Обобщающая способность, переобучение и недообучение.
Взаимосвязь между сложностью модели и размером набора данных.
Алгоритмы машинного обучения с учителем.
Некоторые наборы данных.
Метод k ближайших соседей.
Линейные модели.
Наивные байесовские классификаторы.
Деревья решений.
Ансамбли деревьев решений.
Ядерный метод опорных векторов.
Нейронные сети (глубокое обучение).
Оценки неопределенности для классификаторов.
Решающая функция.
Прогнозирование вероятностей.
Неопределенность в мультиклассовой классификации.
Выводы и перспективы.
ГЛАВА 3. МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ БЕЗ УЧИТЕЛЯ И ПРЕДВАРИТЕЛЬНАЯ ОБРАБОТКА ДАННЫХ.
Типы машинного обучения без учителя.
Проблемы машинного обучения без учителя.
Предварительная обработка и масштабирование.
Различные виды предварительной обработки.
Применение преобразований данных.
Масштабирование обучающего и тестового наборов одинаковым образом.
Влияние предварительной обработки на машинное обучение с учителем.
Снижение размерности, выделение признаков и множественное обучение.
Анализ главных компонент (PCA).
Факторизация неотрицательных матриц (NMF).
Множественное обучение с помощью алгоритма t-SNE.
Кластеризация.
Кластеризация k-средних.
Агломеративная кластеризация.
DBSCAN.
Сравнение и оценка качества алгоритмов кластеризации.
Выводы по методам кластеризации.
Выводы и перспективы.
ГЛАВА 4. ТИПЫ ДАННЫХ И КОНСТРУИРОВАНИЕ ПРИЗНАКОВ.
Категориальные переменные.
Прямое кодирование (дамми-переменные).
Числа можно закодировать в виде категорий.
Биннинг, дискретизация, линейные модели и деревья.
Взаимодействия и полиномы.
Одномерные нелинейные преобразования.
Автоматический отбор признаков.
Одномерные статистики.
Отбор признаков на основе модели.
Итеративный отбор признаков.
Применение экспертных знаний.
Выводы и перспективы.
ГЛАВА 5. ОЦЕНКА И УЛУЧШЕНИЕ КАЧЕСТВА МОДЕЛИ.
Перекрестная проверка.
Перекрестная проверка в scikit-learn.
Преимущества перекрестной проверки.
Стратифицированная k-блочная перекрестная проверка и другие стратегии.
Решетчатый поиск.
Простой решетчатый поиск.
Опасность переобучения параметров и проверочный набор данных.
Решетчатный поиск с перекрестной проверкой.
Метрики качества модели и их вычисление.
Помните о конечной цели.
Метрики для бинарной классификации.
Метрики для мультиклассовой классификации.
Метрики регрессии.
Использование метрик оценки для отбора модели.
Выводы и перспективы.
ГЛАВА 6. ОБЪЕДИНЕНИЕ АЛГОРИТМОВ В ЦЕПОЧКИ И КОНВЕЙЕРЫ.
Отбор параметров с использованием предварительной обработки.
Построение конвейеров.
Использование конвейера, помещенного в объект GridSearchCV.
Общий интерфейс конвейера.
Удобный способ построения конвейеров с помощью функции make_pipeline.
Работа с атрибутами этапов.
Работа с атрибутами конвейера, помещенного в объект GridSearchCV.
Находим оптимальные параметры этапов конвейера с помощью решетчатого поиска.
Выбор оптимальной модели с помощью решетчатого поиска.
Выводы и перспективы.
ГЛАВА 7. РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ.
Строковые типы данных.
Пример применения: анализ тональности киноотзывов.
Представление текстовых данных в виде «мешка слов».
Применение модели «мешка слов» к синтетическому набору данных.
Модель «мешка слов» для киноотзывов.
Стоп-слова.
Масштабирование данных с помощью tf-idf.
Исследование коэффициентов модели.
Модель «мешка слов» для последовательностей из нескольких слов (n-грамм).
Продвинутая токенизация, стемминг и лемматизация.
Моделирование тем и кластеризация документов.
Латентное размещение Дирихле.
Выводы и перспективы.
ГЛАВА 8. ПОДВЕДЕНИЕ ИТОГОВ.
Общий подход к решению задач машинного обучения.
Вмешательство человека в работу модели.
От прототипа к производству.
Тестирование производственных систем.
Создание своего собственного класса Estimator.
Куда двигаться дальше.
Теория.
Другие фреймворки и пакеты машинного обучения.
Ранжирование, рекомендательные системы и другие виды обучения.
Вероятностное моделирование, теория статистического вывода и вероятностное программирование.
Нейронные сети.
Масштабирование на больших наборах данных.
Оттачивание навыков.
Заключение.
Скачать pdf
Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России. Купить эту книгу