Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта. Благодаря им мы улучшаем сайт!
Принять и закрыть

Читать, слущать книги онлайн бесплатно!

Электронная Литература.

Бесплатная онлайн библиотека.

Читать: Наука о данных. Базовый курс - Джон Келлехер на бесплатной онлайн библиотеке Э-Лит


Помоги проекту - поделись книгой:

‹13›. Lewis, Michael. 2004. Moneybalname = "note" The Art of Winning an Unfair Game. 1st edition. New York: W. W. Norton & Company.

‹14›. Дабнер Стивен, Левитт Стивен. Фрикономика. Экономист-хулиган и журналист-сорвиголова исследуют скрытые причины всего. — М.: Альпина Паблишер, 2019.

‹15›. Few, Stephen. 2012. Show Me the Numbers: Designing Tables and Graphs to Enlighten. Second edition. Burlingame, CA: Analytics Press.

Глава 2. Что такое данные и что такое набор данных?

Как следует из названия, наука о данных фундаментально зависит от самих данных. По существу данные являются абстракцией реальной сущности (человека, объекта или события). Термины «переменная», «признак» или «атрибут» часто используются взаимозаменяемо для обозначения отдельно взятой абстракции. Обычно каждый объект описывается рядом атрибутов. Например, книга может иметь следующий набор атрибутов: автор, название, тема, жанр, издатель, цена, дата публикации, количество слов, глав, страниц, издание, ISBN и т. д.

Набор данных состоит из данных, относящихся к совокупности объектов, причем каждый объект описан в терминах набора атрибутов. В своей наиболее простой форме[10] набор данных организован в виде матрицы размером n × m, называемой аналитической записью, где n — количество объектов (строк), а m — количество атрибутов (столбцов). В науке о данных термины «набор данных» и «аналитическая запись» часто используются взаимозаменяемо, при этом аналитическая запись является конкретным представлением набора данных. Таблица 1 иллюстрирует аналитическую запись для набора данных нескольких книг. Каждый ряд в таблице описывает одну книгу. Термины «объект», «экземпляр», «пример», «сущность», «кейс» и «запись» используются в науке о данных для обозначения строки. Таким образом, набор данных содержит набор объектов, и каждый из объектов описывается набором атрибутов.


Построение аналитической записи — необходимое условие работы с данными. Фактически в большинстве проектов по обработке данных бо́льшая часть времени и усилий уходит на создание, очистку и обновление аналитической записи. Аналитическая запись часто создается путем объединения информации из множества различных источников: может потребоваться извлечение данных из нескольких баз, хранилищ или компьютерных файлов в разных форматах (например, в виде электронных таблиц и CSV-файлов) или скрапинг[11] в интернете или социальных сетях.

В таблице 1 перечислены четыре книги. Если не считать атрибут ID, который представляет собой простую метку строки и, следовательно, бесполезен для анализа, каждая книга описана с помощью шести атрибутов: название, автор, год, обложка, издание и цена. Мы могли бы включить их намного больше для каждой книги, но, как это обычно и бывает в подобных проектах, нам нужно ограничить набор данных. В нашем случае мы должны просто уместить атрибуты в размер страницы. Однако в большинстве проектов ограничения касаются того, какие атрибуты доступны, а также какие из них имеют отношение к проблеме, которую мы пытаемся решить в конкретной предметной области. Включение дополнительных атрибутов в набор данных никогда не обходится без затрат. Во-первых, вам потребуются дополнительные время и усилия для сбора и проверки качества данных в атрибутах для каждого объекта и их интеграции в аналитическую запись. Во-вторых, включение нерелевантных или избыточных атрибутов может отрицательно сказаться на производительности многих алгоритмов, используемых для анализа данных. Включение большого количества атрибутов в набор данных увеличивает вероятность того, что алгоритм найдет не относящиеся к делу или ложные закономерности, которые только кажутся статистически значимыми в рамках выборки объектов. С проблемой правильных атрибутов сталкиваются все проекты науки о данных, и иногда ее решение сводится к итеративному процессу проведения экспериментов методом проб и ошибок, где каждая итерация проверяет результаты, полученные с использованием различных подмножеств атрибутов.

Существуют разные типы атрибутов, и для каждого из них подходят разные виды анализа. Их понимание и распознавание является фундаментальным навыком для специалиста по данным. К стандартным типам относятся числовые (включая интервальные и относительные), номинальные и порядковые. Числовые атрибуты описывают измеримые величины, представленные целыми числами или действительными величинами. Числовые атрибуты могут быть измерены как по шкале интервалов, так и по шкале отношений. Интервальные атрибуты измеряются по шкале с фиксированными, но произвольными единицами измерений и произвольным началом отсчета. Примерами интервальных атрибутов могут быть измерения даты и времени. К ним применяют упорядочивание и вычитание. Умножение, деление и прочие операции в этом случае не подходят. Шкала отношений аналогична шкале интервалов с единственным отличием: ее нулевая точка — истинный нуль. Он указывает на то, что количество, которое могло бы быть измерено, отсутствует. Особенность шкалы отношений состоит в том, что мы можем описать любое значение как кратное другому значению. Температура — прекрасный пример для понимания разницы между шкалой интервалов и шкалой отношений{1}. По шкале Цельсия и по шкале Фаренгейта температура измеряется интервально, поскольку значение 0 на любой из этих шкал не указывает на отсутствие тепла. Таким образом, хотя мы и можем вычислить разницу между температурами на этих шкалах и сравнить различия, мы не можем сказать, что 20 °C — это в два раза теплее, чем 10 °C. В отличие от этого, измерение температуры в кельвинах ведется по шкале отношений, поскольку 0 K (абсолютный нуль) — это температура, при которой прекращается всякое тепловое движение. Другие распространенные примеры измерений по шкале отношений: количество денег, вес, рост и экзаменационные отметки (шкала 0–100). В таблице 1 атрибут года является примером атрибута шкалы интервалов, а атрибут цены — примером атрибута шкалы отношений.

Номинальные (также известные как категориальные) атрибуты принимают значения из ограниченного набора. Эти значения являются именами (поэтому они и называются номинальными) для категорий, классов или обстоятельств. Примеры номинальных атрибутов включают семейное положение (холост, женат, разведен) или тип пива (эль, светлый эль, пильзнер, портер, стаут и т. д.). Бинарный атрибут — это особый случай номинального атрибута, у которого набор возможных значений ограничен только двумя. Примером может служить бинарный атрибут «спам», который описывает, является электронная почта спамом (да) или не является (нет). К номинальным атрибутам не могут быть применены упорядочивание или арифметические операции. Обратите внимание, что номинальный атрибут может быть отсортирован в алфавитном порядке, но эта операция не тождественна упорядочиванию. В таблице 1 автор и название являются примерами номинальных атрибутов.

Порядковые атрибуты аналогичны номинальным, но с той разницей, что можно ранжировать значения переменных. Например, атрибут, описывающий ответ на вопрос анкетирования, может принимать значения из области определения: «очень не нравится», «не нравится», «нейтрально», «нравится» и «очень нравится». Существует естественное упорядочивание этих значений — от сильной неприязни к сильной симпатии (или, наоборот, в зависимости от условия). Тем не менее важной особенностью порядковых атрибутов является отсутствие понятия равного расстояния между этими значениями. Например, когнитивное расстояние между неприязнью и нейтральным отношением может быть отличным от расстояния между симпатией и сильной симпатией. В результате неуместно применять арифметические операции (такие, как усреднение) к порядковым атрибутам. В таблице 1 атрибут «издание» является примером порядкового атрибута. Граница между номинальными и порядковыми данными не всегда четкая. Для примера возьмем атрибут, который описывает погоду и может принимать значения «солнечно», «дождливо», «пасмурно». Один человек может сказать, что этот атрибут номинальный, значения которого не упорядочены, в то время как другой будет утверждать, что атрибут является порядковым, при этом рассматривая облачность как промежуточное значение между «солнечно» и «дождливо»{2}.

Тип атрибута (числовой, порядковый, номинальный) влияет на методы анализа и понимания данных. Эти методы включают в себя как основную статистику, которую мы можем использовать для описания распределения значений атрибута, так и более сложные алгоритмы, которые мы применяем для выявления закономерностей отношений между атрибутами. На базовом уровне анализа числовые атрибуты допускают арифметические операции, а типичный статистический анализ, применяемый к числовым атрибутам, заключается в измерении центральной тенденции (с использованием среднего значения атрибута) и разброса значений атрибутов (с использованием дисперсии или стандартного отклонения). Однако не имеет смысла применять арифметические операции к номинальным или порядковым атрибутам. Базовый анализ этих типов атрибутов включает в себя подсчет того, сколько раз значение встречается в наборе данных, и/или вычисление процента вхождения этого значения.

Данные генерируются в процессе абстракции, поэтому они всегда являются результатом принятых человеком решений и сделанного им выбора. В основе каждой абстракции конкретный человек или группа людей решают, от чего абстрагироваться и какие категории или измерения использовать в полученном отображении. Поэтому данные никогда не являются объективным описанием мира. Данные всегда частичны и предвзяты. Как заметил Альфред Коржибски: «Карта не является отображаемой ею территорией, но если она верная, то имеет структуру, подобную территории, которая содержит информацию о ее полезности{3}».


Другими словами, данные не являются идеальным отображением сущностей и процессов реального мира, которые мы пытаемся постичь, но если быть аккуратным при моделировании и сборе данных, то результаты анализа могут дать полезную информацию для решения наших реальных проблем. Сюжет фильма «Человек, который изменил все» (Moneyball), о котором упоминалось в главе 1, служит примером того, что определяющим фактором успеха во многих проектах науки о данных являются абстракции (атрибуты), подходящие для использования в данной конкретной области. Напомним, что ключом в этой истории было осознание клубом «Окленд Атлетикс» того, что процентное соотношение попадания игрока на базу и упущенных возможностей является более информативным показателем его успешности, чем традиционно принятые в бейсболе статистические данные, такие как средний уровень достижений. Использование различных атрибутов для описания игроков дало «Окленд Атлетикс» лучшую, нежели у других команд, модель, которая позволила им выявлять недооцененных игроков и конкурировать с крупными клубами при меньшем бюджете.

Эта история иллюстрирует применимость старой поговорки «Что посеешь — то и пожнешь» к науке о данных: если входные данные вычислительного процесса неверны, то выходные данные также будут неправильны. Действительно, наука о данных имеет две особенности, которые всегда необходимо учитывать: а) для успешности проектов необходимо уделять много внимания созданию самих данных (как с точки зрения выбора, который мы делаем при моделировании абстракции, так и с точки зрения качества данных, полученных в процессе) и б) необходимо проверять результаты процесса, хотя бы потому, что выявленная компьютером закономерность может оказаться основанной на отклонениях модели и увести нас в сторону от реального понимания анализируемых процессов.

Перспективы данных

Помимо типов (числовые, номинальные и порядковые), существуют и другие полезные способы классификации данных. Один из них различает структурированные и неструктурированные данные. Структурированными называются данные, которые могут храниться в таблице, где каждый объект имеет одинаковую структуру (т. е. набор атрибутов). В качестве примера можно привести демографические данные населения, где каждая строка в таблице описывает одного человека и состоит из одного и того же набора атрибутов (имя, возраст, дата рождения, адрес, пол, образование, статус занятости и т. д.). Структурированные данные можно легко хранить, систематизировать, искать, переупорядочивать и объединять с другими структурированными данными. К ним легко применяемы методы науки о данных, поскольку по определению они уже находятся в формате, который подходит для интеграции в аналитическую запись. Неструктурированные данные описывают такие данные, где каждый объект в наборе может иметь собственную внутреннюю структуру и эта структура необязательно одинакова для каждого объекта. Представьте себе набор веб-страниц, где у каждой есть структура, но при этом отличная от других. Неструктурированные данные встречаются гораздо чаще, чем структурированные. Например, естественные текстовые массивы (электронные письма, твиты, СМС, посты, романы и т. д.) можно считать неструктурированными данными; то же относится к коллекциям звуковых, графических и видеофайлов. Различия в структуре между отдельными элементами не позволяют анализировать неструктурированные данные в необработанном виде. Зачастую мы можем извлекать структурированные данные из неструктурированных, используя методы искусственного интеллекта (такие, как обработка естественного языка или машинное обучение), цифровую обработку сигналов или компьютерное зрение. Однако внедрение и тестирование этих процессов преобразования данных является дорогостоящим и трудоемким и может привести к значительным накладным расходам в проекте.

Иногда атрибутами являются необработанные абстракции, извлеченные непосредственно из событий или объектов, например рост человека, число слов в электронном письме, температура в комнате, время или место события. Но кроме того данные могут быть производными, т. е. полученными из других данных. Например, средняя зарплата в компании или разница температур в комнате за период времени. В обоих случаях результирующие данные являются производными от исходного набора необработанных данных (отдельно взятых зарплат или показаний температуры) путем применения к ним функции. Часто реальная ценность проекта по обработке данных состоит в выявлении одного или нескольких важных производных атрибутов, которые обеспечивают понимание проблемы. В качестве иллюстрации представьте, что мы пытаемся исследовать проблему ожирения и выявить атрибуты, которые идентифицируют потенциально подверженных заболеванию людей. Мы бы начали с необработанных атрибутов отдельных лиц, их роста и веса, но после более подробного исследования вопроса создали бы более информативный производный атрибут, такой как индекс массы тела (ИМТ). ИМТ — это соотношение массы тела и роста человека. Понимание того, что взаимосвязь необработанных атрибутов массы и роста дает больше информации об ожирении, чем любой из этих двух признаков по отдельности, может помочь нам определить людей в группе населения, которые подвержены риску ожирения. Очевидно, что ИМТ является простейшим примером, который мы используем здесь, чтобы показать важность производных атрибутов. Но давайте рассмотрим ситуации, когда понимание проблемы приходит через несколько производных атрибутов, где каждый, в свою очередь, включает в себя две (или более) характеристики. Именно в таких условиях, когда несколько атрибутов взаимодействуют друг с другом, наука о данных дает нам реальные преимущества, поскольку ее алгоритмы способны извлекать производные атрибуты из необработанных данных.


Существует два основных типа необработанных данных по способу их получения: собранные и выхлопные данные{4}. Собранные данные получают посредством прямого измерения или наблюдения, предназначенного для этой цели. Например, основная цель опросов или экспериментов состоит в сборе конкретных данных по конкретной теме. Выхлопные данные, напротив, побочный продукт процесса (подобно выхлопным газам), основной целью которого является нечто иное, чем сбор данных. Например, основная цель социальных сетей — дать пользователям возможность общаться друг с другом. Однако для каждого опубликованного изображения, поста, ретвита или лайка создается ряд выхлопных данных: кто поделился, кто просмотрел, какое устройство использовалось, чье устройство использовалось, в какое время суток, сколько людей просматривали / поставили лайк / ретвитнули и т. д. Точно так же основная цель сайта Amazon — дать возможность пользователям совершать покупки. Но это не мешает каждой покупке генерировать выхлопные данные: какие товары пользователь добавил в корзину, сколько времени он провел на сайте, какие другие товары он просматривал и т. д.

Одним из наиболее распространенных типов выхлопных данных являются метаданные, т. е. данные, описывающие другие данные. Когда Эдвард Сноуден опубликовал документы АНБ, касающиеся программы тотальной слежки PRISM, он также сообщил, что агентство собирало большое количество метаданных о телефонных звонках людей. Это значит, что АНБ фактически не записывало их содержание (т. е. не вело прослушивания телефонных разговоров), но собирало данные о звонках, например когда был сделан звонок, кому, как долго длился и т. д.{5}. Этот тип сбора данных может показаться не столь зловещим, но исследовательский проект MetaPhone, проведенный в Стэнфорде, обнаружил, что метаданные телефонного звонка могут раскрыть большой объем личной информации{6}. Тот факт, что многие организации работают в узких сферах, позволяет относительно легко выявлять информацию о человеке на основе его телефонных звонков. Например, некоторые из участников исследования MetaPhone звонили «Анонимным алкоголикам», адвокатам по бракоразводным процессам и в медицинские клиники, специализирующиеся на венерических болезнях. О многом могут говорить и закономерности звонков. Вот два примера закономерностей, выявленных в ходе исследования и раскрывающих очень деликатную информацию:

«Участник А общался с несколькими местными группами поддержки людей, страдающих неврологическими заболеваниями, специализированной аптекой, службой лечения редких состояний и горячей линией лекарственного средства, применяемого исключительно для лечения рассеянного склероза… В течение трех недель участник B связывался с магазином товаров для ремонта, слесарем, продавцом оборудования для гидропоники и торговцем марихуаной{7}».

Традиционно наука о данных была сосредоточена на получении собранных данных. Однако, как показывает исследование MetaPhone, выхлопные данные также могут быть использованы для выявления скрытого смысла. В последние годы выхлопные данные становятся все более и более полезными, особенно в области взаимодействия с клиентами, где связывание между собой различных наборов выхлопных данных может создать более широкий клиентский профиль, тем самым позволяя бизнесу точнее ориентировать свои услуги и маркетинг. Сегодня одним из факторов, стимулирующих развитие науки о данных, является признание современным бизнесом ценности выхлопных данных и их потенциала.

Данные накапливаются, мудрость — нет!

Цель науки о данных — использовать их, чтобы получить прозрение и понимание. Библия призывает нас к пониманию через мудрость: «Главное — мудрость: приобретай мудрость, и всем имением твоим приобретай разум» (Притч. 4:7). Этот совет разумен, но он ставит вопрос о том, как именно нужно искать мудрости. Следующие строки из стихотворения Т. С. Элиота «Камень» описывают иерархию мудрости, знаний и информации:

Где мудрость, которую мы потеряли в знанье? Где знанье, которое мы потеряли в сведеньях?{8}

Иерархия Элиота отражает стандартную модель структурных отношений между мудростью, знаниями, информацией и данными, известную как пирамида DIKW (см. рис. 2). В пирамиде DIKW данные предшествуют информации, которая предшествует знаниям, которые, в свою очередь, предшествуют мудрости. Хотя порядок уровней в иерархии, как правило, не вызывает споров, различия между этими уровнями и процессы, необходимые для перехода от одного к другому, часто оспариваются. Но если посмотреть в широком смысле, то можно утверждать следующее:

• данные создаются с помощью абстракции или измерения мира;

• информация — это данные, которые были обработаны, структурированы или встроены в контекст таким образом, что стали значимы для людей;

• знание — это информация, которая была истолкована и понята таким образом, что появилась возможность действовать в соответствии с ней по необходимости;

• мудрость — это умение найти надлежащее применение знанию.


Последовательные операции в процессе обработки данных могут быть представлены аналогичной пирамидальной иерархией, где ширина пирамиды отображает объем данных, обрабатываемых на каждом уровне, и чем выше уровень, тем результаты действий более информативны для принятия решения. Рис. 3 иллюстрирует иерархию операций науки о данных, начиная с их сбора и генерации посредством предварительной обработки и агрегирования и заканчивая пониманием результатов, обнаружением закономерностей и созданием моделей с использованием машинного обучения для принятия решений в бизнес-контексте.


Процесс CRISP-DM

В научной среде регулярно выдвигаются новые идеи о том, каким способом лучше всего взбираться на вершину пирамиды науки о данных. Наиболее часто используется межотраслевой стандартный процесс исследования данных CRISP-DM. Этот процесс в течение целого ряда лет занимает первые места всевозможных отраслевых опросов. Одно из преимуществ CRISP-DM и причина, по которой он так широко используется, заключается в том, что процесс спроектирован как независимый от программного обеспечения, поставщика или метода анализа данных.

CRISP-DM разрабатывался консорциумом организаций, в который входили ведущие поставщики данных, конечные пользователи, консалтинговые компании и исследователи. Первоначальный проект CRISP-DM был частично спонсирован Европейской комиссией в рамках программы ESPRIT и представлен на семинаре в 1999 г. С тех пор было предпринято несколько попыток обновить процесс, но оригинальная версия все еще остается наиболее востребованной. В течение многих лет существовал отдельный сайт CRISP-DM, но сейчас он закрыт, и в большинстве случаев вы будете перенаправлены на сайт SPSS компании IBM, которая участвовала в проекте с самого начала. Консорциум участников опубликовал детальную (76 страниц), но вполне понятную пошаговую инструкцию для процесса, которая находится в свободном доступе в интернете{9}. Далее мы кратко изложим основную структуру и задачи процесса.

Жизненный цикл CRISP-DM состоит из шести этапов — понимание бизнес-целей, начальное изучение данных, подготовка данных, моделирование, оценка и внедрение, — показанных на рис. 4. Данные являются центром всех операций, как это видно из диаграммы CRISP-DM. Стрелки между этапами указывают типичное направление процесса. Сам процесс является частично структурированным, т. е. специалист по данным не всегда проходит все шесть этапов линейно. В зависимости от результата конкретного этапа может потребоваться вернуться к одному из предыдущих, повторить текущий или перейти к следующему.


На первых двух этапах — понимания бизнес-целей и начального изучения данных — специалист пытается сформулировать цели проекта с точки зрения бизнеса и знакомится с данными, которые тот имеет в своем распоряжении. На ранних стадиях проекта придется часто переключаться между фокусировкой на бизнесе и изучением доступных данных. Это связано с тем, что специалист по данным должен идентифицировать бизнес-проблему, а затем понять, доступны ли соответствующие данные для поиска ее решения. Если они доступны, то проект может продолжаться, в противном случае специалисту придется искать альтернативную проблему. В течение этого периода специалист по данным плотно работает с коллегами из бизнес-отделов организации (продаж, маркетинга, операций), пытаясь вникнуть в их проблемы, а также с администраторами баз данных, чтобы изучить доступный материал.

Как только бизнес-проблема была четко сформулирована, а специалист убедился в том, что соответствующие данные доступны, происходит переход к очередному этапу CRISP-DM — подготовке данных. Целью этого этапа является создание набора данных, который можно использовать для анализа. Обычно это подразумевает интеграцию источников из нескольких баз данных. Когда в организации существует хранилище данных, эта интеграция значительно упрощается. После создания набора данных необходимо проверить и исправить их качество. Типичные проблемы качества включают выбросы и пропущенные значения. Проверка качества крайне важна, поскольку ошибки в данных могут серьезно повлиять на производительность алгоритмов анализа.

Следующим этапом CRISP-DM является моделирование. На этой стадии используются автоматические алгоритмы для выявления полезных закономерностей в данных и создаются модели, которые кодируют эти закономерности. Алгоритмы для выявления закономерностей также называются алгоритмами машинного обучения. На этапе моделирования специалист по данным обычно использует несколько алгоритмов машинного обучения для подготовки разных моделей в каждом наборе данных. Необходимость в нескольких моделях вызвана тем, что разные типы алгоритмов машинного обучения ищут разные типы закономерностей в данных, и на этапе моделирования специалист, как правило, не знает, какие именно закономерности нужно искать. Таким образом, имеет смысл поэкспериментировать с различными алгоритмами и посмотреть, какой из них работает лучше всего.

В большинстве проектов тестовые результаты испытания моделей позволят выявить проблемы с данными. Иногда эти ошибки обнаруживаются, когда специалист выясняет, что производительность модели ниже ожидаемой или, наоборот, она подозрительно хороша. Бывает, что, изучая структуру моделей, специалист по данным неожиданно выясняет ее зависимость от каких-либо атрибутов и возвращается к данным, чтобы проверить, правильно ли они кодированы. В результате некоторые этапы в проекте повторяются: за моделированием следует подготовка данных, затем снова моделирование, снова подготовка данных и т. д. Например, Дэн Стейнберг и его команда сообщили, что в ходе одного своего проекта они перестраивали набор данных 10 раз в течение шести недель, причем на пятой неделе этого процесса после ряда итераций по очистке данных и подготовке в них была обнаружена существенная ошибка{10}. Если бы она не была выявлена и исправлена, проект не стал бы успешным.

На двух последних этапах (при оценке и внедрении) вы сосредотачиваетесь на том, каким образом модели будут приспособлены к бизнесу и его процессам. Тесты, выполняемые на этапе моделирования, ориентированы исключительно на точность модели в наборе данных. Этап оценки включает оценку моделей в более широком контексте, определяемом потребностями бизнеса. Соответствует ли модель целям процесса? Адекватна ли она с точки зрения бизнеса? На этом этапе специалист по данным должен провести анализ для обеспечения качества проекта: не было ли что-то упущено, можно ли было сделать лучше и т. д. На основании общей оценки моделей принимается основное решение этого этапа — можно ли внедрять какую-то из них в бизнес или требуется еще одна итерация процесса CRISP-DM для создания моделей более адекватных. Если модели одобрены, проект переходит к финальной стадии процесса — внедрению. На этапе внедрения изучается то, каким образом можно развернуть выбранные модели в бизнес-среде, как интегрировать их в техническую инфраструктуру и бизнес-процессы организации. Лучшие из моделей — те, которые плавно вписываются в существующую практику. Такие модели ориентированы на конкретных пользователей, столкнувшихся с четко обозначенной проблемой, которую эта модель и призвана решить. Кроме того, на этапе внедрения создается план периодической проверки эффективности модели.

Внешняя окружность диаграммы CRISP-DM подчеркивает тот факт, что весь процесс имеет итеративный характер. При обсуждении проектов науки о данных об их итеративности часто забывают. После разработки и внедрения модель должна регулярно пересматриваться, чтобы удовлетворять задачам бизнеса и оставаться актуальной. Существует масса причин, по которым модель может устареть: изменяются потребности бизнеса, процессы, которые модель имитирует или поясняет (например, поведение клиентов, типы спама и т. д.), или потоки данных, используемые моделью (скажем, новый датчик дает несколько другие показатели, что снижает точность модели). Частота пересмотра зависит от того, как быстро развиваются экосистема бизнеса и данные, используемые моделью. Постоянный мониторинг необходим, чтобы определить наилучшее время для повторного запуска процесса. Это как раз то, что представляет собой внешний круг CRISP-DM. Например, в зависимости от данных, поставленной задачи и сферы деятельности вы можете проходить этот итеративный процесс еженедельно, ежемесячно, ежеквартально, ежегодно или даже ежедневно. На рис. 5 приведена сводная информация об этапах процесса и основных задачах, связанных с ними.

Неопытные специалисты по данным часто допускают ошибку: сосредотачивая усилия на этапе моделирования CRISP-DM, они чересчур поспешно проходят другие этапы. Их логика заключается в том, что наиболее важным результатом проекта должна стать модель, поэтому бо́льшую часть своего времени необходимо посвятить именно ее разработке. Однако маститые специалисты по данным тратят больше времени на то, чтобы задать проекту четкий вектор и обеспечить его правильными данными. Успех в науке о данных достигается ясностью бизнес-задач для специалиста, ведущего проект. Поэтому этап понимания бизнес-целей крайне важен. Что касается получения правильных данных для проекта, то опрос специалистов, проведенный в 2016 г., показал, что 79 % своего времени они уделяют именно подготовке данных{11}. Тот же опрос выявил, что распределение времени между основными задачами в проектах выглядит следующим образом:

• сбор данных — 19 %;

• очистка и организация данных — 60 %;

• построение обучающих моделей — 3 %;

• анализ данных для выявления закономерностей — 9 %;

• уточнение алгоритмов — 4 %;

• другие задачи — 5 %.

Показатель 79 % для подготовки суммирует время, затраченное на сбор, очистку и организацию данных. Этот показатель — около 80 % времени проекта — присутствует в разных отраслевых опросах уже в течение ряда лет. Такой вывод может удивить, поскольку принято считать, что специалист по данным тратит свое время на создание сложных моделей, помогающих получить новые знания. Но простая истина состоит в том, что, как бы ни был хорош ваш анализ, он не найдет полезных закономерностей в неправильных данных.


Источники

‹1›. Han, Jiawei, Micheline Kamber, and Jian Pei. 2011. Data Mining: Concepts and Techniques, Third Edition. Haryana, India; Burlington, MA: Morgan Kaufmann.

‹2›. Hall, Mark, Ian Witten, and Eibe Frank. 2011. Data Mining: Practical Machine Learning Tools and Techniques.

‹3›. Korzybski, Alfred. 1996. «On Structure.» In Science and Sanity: An Introduction Ot NonAristotelian Systems and General Semantics, edited by Charlotte Schuchardt-Read, CDROM First Edition. European Society for General Semantics. http://esgs.free.fr/uk/art/sands.htm.

‹4›. Kitchin, Rob. 2014. The Data Revolution: Big Data, Open Data, Data Infrastructures and Their Consequences. Sage.

‹5›. Pomerantz, Jeffrey. 2015. Metadata. The MIT Press Essential Knowledge Series. https://mitpress.mit.edu/books/metadata-0.

‹6›. Mayer, Jonathan, and Patrick Mutchler. 2014. «MetaPhone: The Sensitivity of Telephone Metadata.» Web Policy. http://webpolicy.org/2014/03/12/metaphone-the-sensitivity-oftelephone-metadata/.

‹7›. Mayer, Jonathan, and Patrick Mutchler. 2014. «MetaPhone: The Sensitivity of Telephone Metadata.» Web Policy. http://webpolicy.org/2014/03/12/metaphone-the-sensitivity-oftelephone-metadata/.

‹8›. Элиот Т. С. Полые люди. — СПб.: ООО «Издательский Дом „Кристалл“», 2000. (Б-ка мировой лит., Малая серия).

‹9›. Chapman, Pete, Julian Clinton, Randy Kerber, Thomas Khabaza, Thomas Reinartz, Colin Shearer, and Rudiger Wirth. 1999. «CRISP-DM 1.0: Step-by-Step Data Mining Guide.» ftp://ftp.software.ibm.com/software/analytics/spss/support/Modeler/Documentation/14/UserManual/CRISP-DM.pdf.

‹10›. Steinberg, Dan. 2013. «How Much Time Needs to Be Spent Preparing Data for Analysis?» http://info.salford-systems.com/blog/bid/299181/How-Much-Time-Needs-to-be-SpentPreparing-Data-for-Analysis.

‹11›. CrowdFlower. 2016. «Отчет о науке данных за 2016 год». http://visit.crowdflower.com/rs/416-ZBE142/images/CrowdFlower_DataScienceReport_2016.pdf.

Глава 3. Экосистема науки о данных

Набор технологий, используемых для обработки данных, варьируется в зависимости от организации. Чем больше организация и/или объем обрабатываемых данных, тем сложнее технологическая экосистема науки о данных. Обычно эта экосистема содержит инструменты и узлы от нескольких поставщиков программного обеспечения, которые обрабатывают данные в разных форматах. Существует ряд подходов, которые организация может использовать для разработки собственной экосистемы науки о данных. На одном конце этого ряда организация принимает решение инвестировать в готовую систему интегрированных инструментов. На другом — самостоятельно создавать экосистему путем интеграции инструментов и языков с открытым исходным кодом. Между этими двумя крайностями есть несколько поставщиков программного обеспечения, которые предоставляют решения, являющие собой смесь коммерческих продуктов и продуктов с открытым исходным кодом. Однако, хотя конкретный набор инструментов в каждой организации будет свой, наука о данных предусматривает общие компоненты для большинства архитектур.

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


У каждой организации есть приложения, которые генерируют и собирают данные о клиентах, транзакциях и обо всем, что связано с работой организации (операционные данные). Это источники и приложения следующих типов: управление клиентами, заказы, производство, доставка, выставление счетов, банкинг, финансы, управление взаимодействием с клиентами (CRM), кол-центр, ERP и т. д. Приложения такого типа обычно называют системами обработки транзакций в реальном времени, или OLTP. Во многих проектах науки о данных именно эти приложения используются как источник входного набора данных для алгоритмов машинного обучения. Со временем объем данных, собираемых различными приложениями по всей организации, становится все больше и начинает включать данные, которые ранее были проигнорированы, недоступны или не были собраны по иным причинам. Эти новые источники, как правило, относятся уже к большим данным, поскольку их объем значительно выше, чем объем данных основных операционных приложений организации. Распространенные источники — это сетевой трафик, регистрационные данные различных приложений, данные датчиков, веб-журналов, социальных сетей, веб-сайтов и т. д. В традиционных источниках данные обычно хранятся в базе. Новые источники больших данных часто не предназначены для длительного их хранения, как в случае с потоковыми данными, поэтому форматы и структуры хранения будут варьироваться от приложения к приложению.

По мере увеличения количества источников возрастает проблема использования данных в аналитике и обмена ими между удаленными частями организации. Из истории (см. главу 1) нам известно, что хранение данных стало ключевым компонентом аналитики. В хранилище данные, поступающие со всей организации, интегрируются и становятся доступными для приложений (OLAP) и дальнейшего анализа.

Слой хранения данных, представленный на рис. 6, предназначен для обмена данными и их анализа. При этом он разделен на две части. Первая охватывает программное обеспечение для обмена данными, используемое большинством организаций. Наиболее популярным типом традиционного ПО для интеграции и хранения данных остаются реляционные базы данных (RDBMS). Это ПО часто служит основой для систем бизнес-аналитики (BI) в организациях. BI-системы призваны облегчить процесс принятия решений для бизнеса. Они предоставляют функции агрегирования, интеграции, отчетности и анализа. В основе BI-систем лежат базы данных, которые содержат интегрированные, очищенные, стандартизированные и структурированные данные, поступающие из различных источников. В зависимости от уровня зрелости архитектура BI-систем может состоять из очень разных компонентов — от базовой копии рабочего приложения и оперативного склада данных (ODS) до массивно-параллельных (MPP) решений баз данных BI и хранилищ данных. Аналитику, сгенерированную BI-системой, можно использовать в качестве входных данных для ряда потребителей на уровне приложений (рис. 6).

Вторая часть слоя хранения данных занимается управлением большими данными организации. Архитектура для их хранения и анализа включает платформу с открытым исходным кодом Hadoop, разработанную Apache Software Foundation для обработки больших данных. Эта платформа осуществляет распределенное хранение и обработку данных прямо в кластерах стандартных серверов. Для ускорения обработки запросов в наборах больших данных используется модель программирования MapReduce, которая реализует стратегию разделения — использования — объединения: a) большой набор данных разбивается на фрагменты, и каждый блок сохраняется в отдельном узле кластера; б) затем ко всем фрагментам применяется параллельный запрос; в) результат запроса вычисляется путем объединения результатов, сгенерированных для разных фрагментов. Кроме того, в последние годы платформа Hadoop стала использоваться для расширения корпоративных хранилищ данных. Не так давно хранилища вмещали данные за три года, но теперь это число достигло 10 лет и продолжает расти. Поскольку объемы данных все увеличиваются, требования к хранилищу и обработке баз и сервера также растут. Это может повлечь за собой значительные затраты. В качестве альтернативы некоторые устаревшие данные перемещают из хранилища в кластер Hadoop. В хранилище, таким образом, остаются только последние данные, скажем за три года, которые часто используются и должны быть доступны для быстрого анализа и представления, а старые или редко используемые данные хранятся в Hadoop. Большинство баз данных уровня предприятия имеют соответствующие функции для прямого подключения хранилищ к Hadoop, позволяя специалисту запрашивать на языке SQL любые данные, как если бы они все находились в одной среде. Такой запрос открывает доступ и к хранилищу данных, и к Hadoop. Обработка запроса автоматически разделяет его на две отдельные части, каждая из которых выполняется независимо, а результаты объединяются и интегрируются, прежде чем будут представлены специалисту по данным.

Анализ данных затрагивает и ту и другую части слоя хранения, представленного на рис. 6. Он может выполняться как на основе данных, взятых непосредственно из BI-систем или Hadoop, так и на результатах их анализа, повторенного множество раз. Часто данные из традиционных источников бывают заметно чище и плотнее полученных из источников больших данных. Тем не менее гигантский объем и режим реального времени, свойственные большим данным, означают, что усилия, приложенные для подготовки и анализа их источников, могут окупиться с точки зрения важной информации, недоступной из традиционных источников. Разнообразные методы анализа данных для тех или иных областей исследования (включая обработку естественного языка, компьютерное зрение и машинное обучение), используются для преобразования неструктурированных больших данных низкой плотности в ценные данные высокой плотности. Такие данные уже могут быть интегрированы с другими ценными данными из традиционных источников для дальнейшего анализа. Описанная структура, проиллюстрированная на рис. 3.1, представляет собой типичную архитектуру экосистемы науки о данных. Она подойдет для большинства организаций независимо от размера, однако по мере масштабирования организации увеличивается и сложность экосистемы науки о данных. Например, для небольших организаций может и не требоваться компонент Hadoop, но для крупных он становится незаменим.

Перемещение алгоритмов в данные

Традиционный подход к анализу данных включает их извлечение из различных баз, интеграцию, очистку, размещение, построение прогнозной модели, а затем загрузку окончательных результатов анализа в базу данных, чтобы их можно было использовать как часть рабочего процесса, отображать в виде отчетности и т. д. На рис. 7 показано, что большая часть процесса обработки данных, включающего их подготовку и анализ, протекает на отдельном сервере, вне баз и хранилища. При этом значительное количество времени может быть затрачено только на перемещение данных из базы и загрузку в нее результатов.


Для примера: в эксперименте по построению модели линейной регрессии около 70–80 % времени ушло на извлечение и подготовку данных. На создание моделей было потрачено лишь оставшееся время. В процессе скоринга данных примерно 90 % времени было затрачено на их извлечение и сохранение готового набора обратно в базу. Только 10 % времени пришлось на сам скоринг. Эти результаты основаны на наборах данных от 50 000 до 1,5 млн записей. Большинство поставщиков корпоративных баз данных уже осознали, сколько времени экономится, если отказаться от их перемещения, и отреагировали на это включением функции анализа и алгоритмов машинного обучения непосредственно в механизмы базы данных. В последующих разделах мы рассмотрим, каким образом алгоритмы машинного обучения были интегрированы в современные базы данных, как хранятся большие данные в Hadoop и как комбинации этих двух подходов позволяют легко работать со всеми данными в организации, используя SQL как общий язык доступа, анализа, машинного обучения и прогнозной аналитики в режиме реального времени.




Поделиться книгой:

На главную
Назад