бинарной классификации. Просто имейте в виду, что дополнительные классы логично продолжают те темы, которые мы обсудим в этой главе.
Результаты применения некоторых моделей классификации часто делятся на «положительные» или «отрицательные». Как вы помните, научная проверка осуществляется в форме утверждения, а значит, вы должны истолковывать положительное и отрицательное наблюдение как означающее «да» и «нет» соответственно. Это позволяет отделить наблюдения, демонстрирующие действие (щелчок по кнопке, покупка товара, дефолт по кредиту, наличие заболевания), от тех, которые этого не делают. В других случаях – например, при предсказании принадлежности избирателя к политической партии – вам следует четко определить, какой класс является «положительным», а какой «отрицательным», чтобы избежать путаницы. Например, то, что вы определяете принадлежность избирателя к демократам или республиканцам как положительную или отрицательную в своей модели, – не оценка этой принадлежности, а ее произвольное обозначение. Как главный по данным вы должны убедиться в том, что все члены команды одинаково понимают используемые в модели обозначения.
Чему вы научитесь
В этой главе мы будем использовать набор данных о человеческих ресурсах для описания следующих моделей классификации:
– логистическая регрессия;
– деревья решений;
– ансамблевые методы.
Логистическая регрессия[93] и деревья решений чаще всего изучаются в рамках курсов по науке о данных и широко используются в программном обеспечении. Простота применения и интерпретируемость делают их идеальным выбором для решения некоторых задач. Однако, как и все прочие алгоритмы, описанные в этой книге, они не лишены недостатков.
Мы также познакомим вас с ансамблевыми методами, которые постепенно становятся новым стандартом для специалистов по работе данных, особенно для участников соответствующих соревнований[94].
Во второй половине этой главы мы более подробно рассмотрим проблему утечки данных и переобучения. Обсуждению точности мы посвятим целый раздел в конце главы, поскольку понимание этого термина (в контексте данных) требует рассмотрения ряда нюансов. А мы хотим уберечь вас от самых распространенных ошибок.
Постановка задачи классификации
Представьте, что каждое лето сотни студентов, изучающих науку о данных, подают заявки на стажировку в вашей компании. Просматривать все эти заявки вручную крайне утомительно. Нельзя ли как-то автоматизировать этот процесс?
К счастью, у вашей компании есть набор исторических данных, которые можно использовать для обучения модели, – информация о каждом соискателе и метка «да/нет», говорящая о том, был ли он приглашен на собеседование. Используя исторические данные и такой инструмент, как логистическая регрессия, вы могли бы разработать прогностическую модель, которая использует содержащуюся в заявке информацию в качестве входных данных, например, средний балл, год обучения, специализация, количество внеклассных занятий, и сообщает о том, стоит ли предлагать соискателю пройти собеседование. Если она окажется эффективной, это избавит вас от необходимости просматривать резюме вручную.
Как можно решить эту задачу? Для начала познакомимся с логистической регрессией.
Логистическая регрессия
Начнем с простого и рассмотрим данные из десяти прошлых заявок, используя в качестве входных параметров только средний балл. Поскольку компьютеры понимают лишь числа, вы можете преобразовать ответы «да» и «нет» в значения 1 и 0 соответственно, то есть 1 обозначает положительный класс. Данные представлены в табл. 10.1. Общая тенденция неудивительна: студенты с более высоким средним баллом имеют больше шансов получить приглашение на собеседование.
Табл. 10.1. Простой набор данных для логистической регрессии: использование среднего балла для прогнозирования вероятности приглашения на собеседование
Если бы вы попытались применить к этим данным метод линейной регрессии, описанный в предыдущей главе, вы получили бы весьма странные результаты. Например, если мы введем данные из табл. 10.1 в статистическую программу и сгенерируем регрессионную модель, то получим уравнение следующего вида:
Приглашение = (0,5) × Средний балл – 1,1
Однако давайте задумаемся об этой модели. Предположим, что средний балл нового соискателя составляет 2,0. В этом случае регрессионная модель выдала бы результат: Приглашение = (0,5) × (2,0) – 1,1 = –0,1. А если бы средний балл кандидата составлял 4,0, то результат был бы равен 0,9. Но что означают числа –0,1 и 0,9 в контексте предсказания того, получит ли кандидат приглашение на собеседование? (Мы тоже точно не знаем.)
Что могло бы оказаться полезным, так это прогноз вероятности получения такого приглашения на основе среднего балла соискателя. Например, вы знаете, что для соискателей со средним баллом 2,0 вероятность получения приглашения на собеседование составляет 4 %, а для соискателей со средним баллом 4,0 – 92 %. Эта информация имеет отношение к поставленной задаче, поскольку позволяет вам ввести правила классификации будущих кандидатов. Однако помните о том, что значения вероятности должны находиться в пределах от 0 до 1 включительно, а модели регрессии не работают в рамках этих ограничений и могут выдавать абсолютно любое значение. Поэтому линейная регрессия не является оптимальным методом для решения данной задачи.
Таким образом, вам нужно как-то ограничить результат решения уравнения вида y = mx + b, чтобы гарантировать его нахождение в подходящем диапазоне вероятностей. Именно это и делает логистическая регрессия: она «втискивает» выходные данные в диапазон от 0 до 1, предоставляя пользователю вероятность принадлежности результата к положительному классу (в данном случае: приглашение = «да»).
Рассмотрим уравнение логистической регрессии:
Вероятность принадлежности к положительному классу при условии
Вам наверняка уже знаком фрагмент mx+b, поскольку это формула линейной регрессии. Только теперь она является частью уравнения, называемого логистической функцией (отсюда и название логистической регрессии)[95], которая гарантирует то, что полученное число является значением вероятности.
Для большей ясности рассмотрим несколько графиков. На рис. 10.1 представлены три диаграммы рассеяния, построенные на основе данных из табл. 10.1. (В предыдущей главе при построении «линии наилучшего соответствия» мы получили похожий набор из трех графиков.) Каждый из этих графиков отражает разный набор входных значений для m и b в уравнении (1). Напомним, что в случае линейной регрессии значения m и b модулировали оптимальное положение линии, минимизирующее величину ошибки, выражаемую суммой квадратов. Но мы установили, что прямая линия линейной регрессии не может хорошо соответствовать этим данным, поскольку выходит за пределы 0 слева и за пределы 1 справа. Однако уравнение (1) вне зависимости от значений m и b всегда будет давать S-образную кривую, лежащую в диапазоне от 0 до 1.
Рис. 10.1. Подгонка различных моделей логистической регрессии к данным. Модель справа соответствует им лучше всего
Проанализируйте левый и средний графики на рис. 10.1 и определите их слабые места.