Шрифт:
Интервал:
Закладка:
Преобразование данных включает в себя их изменение или объединение. На этом этапе используются самые разные методы, включая сглаживание данных, объединение, нормализацию и написание пользовательского кода для выполнения конкретного преобразования. Типичным примером преобразования данных является обработка возраста клиента. Во многих задачах науки о данных не требуется знать точный возраст клиентов. Разница между покупателями 42 и 43 лет, как правило, незначительна, в то время как разница в возрасте от 42 до 52 лет уже становится информативной. Поэтому возраст покупателя часто преобразуется из конкретного значения в диапазон. Процесс преобразования возрастов в диапазоны является примером одного из методов преобразования данных, называемого биннингом. Хотя биннинг относительно прост с технической точки зрения, сложность состоит в том, чтобы определить наиболее подходящие пороговые значения диапазона, которые следует применять.
Последний этап интеграции включает создание выходных данных для алгоритмов анализа, используемых в проекте. Версия данных, которая подается в алгоритм на входе, называется базовой аналитической таблицей.
Первым шагом в создании базовой аналитической таблицы является выбор атрибутов, которые будут включены в анализ. Выбор должен быть основан на знании предметной области и анализе связей между атрибутами. В качестве конкретного примера рассмотрим сценарий анализа, ориентированного на клиентов сервиса. В этом сценарии необходимо создать список часто употребляемых понятий, который будет использован при разработке и выборе атрибутов: детали клиентского контракта, демография, привычки, изменения в привычках, особые привычки, фаза жизненного цикла, сетевые ссылки и т. д. Если будет обнаружена высокая корреляция между двумя атрибутами, вероятнее всего, один из них должен быть исключен. Набор выбранных атрибутов создает так называемую аналитическую запись. Обычно она включает как необработанные, так и производные атрибуты. Каждый объект в базовой аналитической таблице представлен одной записью, поэтому именно набор атрибутов, включенных в нее, определяет отображение анализируемых объектов.
После того как форма аналитической записи разработана, необходимо извлечь и объединить эти записи в набор данных для анализа. Когда записи созданы и сохранены, например, в базе данных, мы получаем то, что и называют базовой аналитической таблицей — набор данных, которые используются в качестве входных для алгоритмов машинного обучения. Следующая глава познакомит вас с областью машинного обучения и некоторыми из самых распространенных алгоритмов, используемых в науке о данных.
Наука о данных — это партнерство между специалистом по данным и компьютером. В главе 2 мы описали жизненный цикл процесса CRISP-DM, которому следует специалист по данным. CRISP-DM определяет последовательность принимаемых им решений и действия, которые помогут их воплотить. Основные задачи специалиста по данным в цикле CRISP-DM сводятся к тому, чтобы определить проблему, спроектировать набор данных, подготовить их, принять решение о том, какой тип анализа будет использован, а затем оценить и интерпретировать результаты. Вклад компьютера в этом партнерстве заключается в его способности обрабатывать данные и искать закономерности. Машинное обучение — это область исследований, которая разрабатывает алгоритмы для выявления компьютером закономерностей в данных. Алгоритмы и методы машинного обучения в основном применяются на этапе моделирования в CRISP-DM. Процесс машинного обучения представляет собой два последовательных этапа.
На первом алгоритм машинного обучения применяется к набору данных для выявления в нем закономерностей. Сами закономерности могут быть представлены разными способами. Позже в этой главе мы опишем наиболее популярные из них: деревья решений, регрессионные модели и нейронные сети. Эти представления закономерностей известны как модели, поэтому и сам этап жизненного цикла CRISP-DM называется этапом моделирования. Проще говоря, все алгоритмы машинного обучения создают модели из данных, но каждый из них разработан для создания моделей, использующих определенный тип представления.
На втором этапе, когда модель создана, она применяется для анализа. В ряде случаев решающее значение имеет структура модели, которая показывает, какие именно атрибуты являются важными для конкретной области определения. Например, мы могли бы применить алгоритм машинного обучения к набору данных пациентов, уже перенесших инсульт, а затем использовать такую структуру модели, которая распознавала бы факторы, тесно связанные с инсультом. Существуют модели для маркировки или классификации новых объектов. К примеру, основная цель модели спам-фильтра состоит в том, чтобы маркировать входящие электронные письма, а не выявлять атрибуты спам-сообщений.
Большинство алгоритмов машинного обучения можно отнести либо к обучению с учителем, либо к обучению без учителя. Цель обучения с учителем состоит в том, чтобы научить алгоритм сопоставлять разные значения разных атрибутов объекта со значением заданного атрибута этого же объекта, известного как целевой атрибут. Например, когда обучение с учителем применяется для спам-фильтра, алгоритм пытается изучить функцию, которая сопоставляет атрибуты, описывающие электронную почту, со значением (спам / не спам) целевого атрибута; функция, которую изучает алгоритм, является моделью спам-фильтра. В этом контексте искомая алгоритмом закономерность является функцией, которая сопоставляет значения входных атрибутов со значением целевого атрибута, а модель, которую возвращает алгоритм, является компьютерной программой, выполняющей эту функцию. По сути, обучение с учителем осуществляется путем поиска одной из множества функций, которая наилучшим образом отображает связь между входными и выходными данными. Однако для любого набора данных разумной сложности существует так много комбинаций входных данных и их возможных сопоставлений с выходными данными, что алгоритм не может испробовать их все. Поэтому каждый алгоритм машинного обучения предпочитает определенные типы функций во время поиска. Эти предпочтения известны как смещение обучения алгоритма. Реальная проблема в использовании машинного обучения состоит в том, чтобы найти алгоритм, смещение обучения которого лучше всего подходит для конкретного набора данных. Как правило, для того, чтобы выяснить, какой из алгоритмов лучше всего работает с конкретным набором данных, требуются эксперименты.
Обучение с учителем называется именно так, потому что каждый объект в наборе данных содержит как входные значения, так и выходное (целевое) значение. Таким образом, алгоритм обучения может направлять свой поиск наилучшей функции, проверяя соответствие каждой пробуемой функции набору данных, и в то же время сам набор данных выступает в качестве контролера процесса обучения или учителя, обеспечивая обратную связь. Очевидно, что для обучения с учителем каждый объект в наборе данных должен быть промаркирован значением целевого атрибута. Однако зачастую целевой атрибут бывает сложно измерить в необработанном виде, а значит, и создать набор данных с маркированными объектами. При подобном сценарии много времени и усилий тратится, чтобы создать набор данных с целевыми значениями атрибутов, прежде чем модель можно будет обучать.