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

В прошлом году я работал специалистом по данным в Microsoft, решая проблемы корпоративных клиентов. Опыт, полученный мной в ходе работы в различных отраслях, позволил проверить мои навыки различными способами, как с точки зрения науки о данных, так и с точки зрения решения проблем. Большая часть времени обычно тратится на определение проблемы, создание набора данных и очистку данных, а большие наборы данных почти всегда труднее найти.

В этом сообщении в блоге я делюсь некоторыми извлеченными уроками и подводными камнями, с которыми вы можете столкнуться при работе над проектами в области науки о данных «в дикой природе». Многие из этих ловушек присутствуют почти всегда, и часто необходимо проявлять «творческий подход», чтобы их решить.

Ловушки

Описательная, предиктивная и предписывающая аналитика

Есть несколько различных способов использования данных для улучшения бизнес-процессов. Обычно заказчик дает задание «решить бизнес-проблему X». Конкретный пример, например, «Повысить прибыльность маркетинговых кампаний».

Распространенная ошибка - не решать проблемы в «правильном» порядке. Если вы хотите улучшить процесс, вам нужно правильно его понять, прежде чем даже думать об автоматизации его частей. Клиенты, как правило, обладают ограниченными знаниями о своих данных и не имеют опыта работы в области науки о данных. Таким образом, очень важно четко объяснить им, какие существуют варианты с точки зрения науки о данных.

Часто вы начинаете проект с очистки и анализа данных. Термины «описательная и диагностическая» аналитика используются, когда вы стремитесь составить сводку данных и попытаться понять, как соотносятся различные переменные в данных. Вы создаете визуализации и используете (неконтролируемые) методы машинного обучения для кластеризации точек данных или поиска коррелированных переменных. В зависимости от результата процесса вы можете, например, создать отчет или информационную панель, в которой перечислен и исследуется набор ключевых показателей эффективности, полезных для решения бизнес-задачи. С помощью маркетинговых кампаний вы можете сопоставить данные о продажах и маркетинге, чтобы понять, почему кампании успешны. Выводы (например, более низкая цена приводит к увеличению продаж) не всегда могут быть «ракетными», но они позволяют покупателю подтвердить свою гипотезу, используя свои данные. Кроме того, это также позволяет им определять аномальное поведение и определять, есть ли у них правильный тип данных.

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

Цель предписывающей аналитики - предпринимать действия на основе прогнозов и оптимизировать определенные аспекты процесса. Вместо проверки идей кампании вы можете, например, создать механизм оптимизации, который может составить список «лучших будущих кампаний». Для построения этой системы требуются большие объемы данных высокого качества. Обратите внимание, что наука о данных - это все о недооценке и переизбытке результатов, поэтому начинайте с малого и создавайте большие!

Доказательство концепций против пилотов

Клиенты часто любят работать с Proof of Concept, чтобы исследовать возможности «науки о данных». Обычно это означает, что они предоставляют подмножество данных и хотят определить некоторые предварительные результаты. Хотя клиент обычно понимает, что вы не добьетесь хорошей производительности с помощью PoC, это по-прежнему обычная просьба. Однако недостатком PoC является то, что подмножество данных часто не является репрезентативным для полного набора данных и проблемы. Вы можете получить чрезвычайно хорошую производительность от PoC, но вы не сможете воспроизвести это на полном наборе данных. Клиенты выбирают набор данных, например, рассмотрение только небольшого временного сегмента, что может сильно повлиять на модель PoC.

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

Репрезентативные наборы данных

Хотя эта ловушка похожа на предыдущую, это не то же самое. Особенно если вы работаете с неструктурированными данными (например, изображениями, текстовыми данными и т. Д.), Заказчик мог уже собрать данные до того, как вы начали проект. Важным, но часто упускаемым из виду элементом набора данных является то, является ли он репрезентативным для варианта использования. Если необходимо собрать наборы данных, это следует сделать так же, как в конечном итоге будет использоваться модель.

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

Высокая производительность и переоснащение

Золотое правило науки о данных - проявлять подозрительность, когда вы получаете очень хорошую производительность (›90%) в начале проблемы.
Хорошая производительность в начале проекта может быть индикатором «дырявых» переменных или «дырявого» набора данных. Утечки переменных - это переменные, которые сильно коррелируют с целевой переменной и которые вряд ли будут доступны во время вывода. Если цель состоит в прогнозировании продаж, вы не можете использовать продажи других продуктов в качестве функций, потому что эти данные будут недоступны.
Набор данных «дырявый» возникает, когда набор данных отражает только определенный (временной) сегмент. Проблема, которую необходимо решить, обычно значительно проще, и вполне вероятно, что модель будет соответствовать шуму в данных, а не фактическому сигналу.

Модель с высокой производительностью - это здорово, но только если она одинаково хорошо работает с совершенно новым и случайным набором данных!

Интерпретация корреляции как причинной связи

Мне очень понравился этот пост о статистических ошибках. Интерпретация корреляции как причинно-следственной связи - лишь один из часто совершаемых типов ошибок, и ключевым моментом является четкое понимание стоящей за ними статистики.

Интерпретируемость моделей и данных

Если заказчик использует модель в качестве основы для действий, он всегда будет отдавать предпочтение решениям, которые можно интерпретировать и понять. В этом сообщении в блоге я подробно рассмотрел причины, по которым интерпретируемость модели является ключевой. Я также более подробно рассмотрел различные техники, которые вы можете использовать.

Заключение

Я коснулся только шести потенциальных ям для науки о данных, но я убежден, что, вероятно, сделал значительно больше ошибок за последний год. Если у вас есть опыт работы с проектами в области науки о данных и вы хотите поделиться своими часто встречающимися проблемами, я буду рад прочитать их в комментариях. Подпишитесь на меня в Medium или Twitter, если хотите получать обновления моих сообщений в блоге!