Эта книга организована примерно следующим образом:
В главе 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 install -c anaconda scikit-learn=0.18.1
Для построения диаграмм деревьев решений необходимо установить conda-пакет graphviz и pip-пакет graphviz:
conda install –c anaconda graphviz=2.38.0
pip install graphviz
Затем в переменной окружения PATH необходимо прописать полный путь к установленной папке graphviz. Например, в Windows 7 для этого нажмите кнопку Пуск, выберите Панель управления. Дважды нажмите на Система, затем выберите Дополнительные параметры системы. Во вкладке Дополнительно нажмите на Переменные среды. Выберите Path и нажмите на Изменить. В поле Значение переменной введите путь к папке graphviz (например, C:\Anaconda3\Library\bin\graphviz).
В файле plot_grid_search.py (он будет установлен в папку C:\Anaconda3\Lib\site-packages\mglearn) строку
grid_search = GridSearchCV(SVC(), param_grid, cv=5)
поменять на строку
grid_search = GridSearchCV(SVC(), param_grid, cv=5, return_train_score=True)
Вы можете выполнять примеры, пользуясь программным кодом книги или, что более удобнее, интерактивными тетрадями (файлы *.ipynb). Если вы используете программный код книги, обратите внимание, что первый блок программного кода каждой главы должен выглядеть следующим образом:
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
import pandas as pd
import mglearn
from IPython.display import display
plt.rc('font', family='Verdana')
Чтобы воспользоваться тетрадями, в 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 (в настоящий момент проблема решается автором).