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

У вашей компании есть данные - и, вероятно, их много. Миллионы строк, возможно, даже изображений, аудио и видео. Но ничего, что можно назвать большими данными… пока. Данные собирались с течением времени с помощью многих систем, будь то ваши или сторонние, такие как ERP, CRM и другие приложения. Вы где-то его сохранили: свою реляционную базу данных, электронные таблицы, базы данных NoSQL или где-нибудь еще. Он может даже храниться в сторонней базе данных (внутри некоторого программного обеспечения, которое вы используете). Дело в том, что данные принадлежат вам, они хранятся, и у вас есть к ним доступ. Поскольку наука о данных сейчас является популярной темой, возникает распространенная иллюзия:

Если где-то хранятся данные, все, что нам нужно сделать, это нанять специалиста по данным. Он обязательно извлечет что-нибудь из данных, а затем превратит это во что-то ценное для нас.

Что ж, если текущая ситуация в вашей компании как-то связана с приведенным выше описанием ... извините. Скорее всего, вам действительно не нужен специалист по данным. По крайней мере, пока. Давайте рассмотрим гипотетический сценарий, в котором вы нанимаете специалиста по данным.

Гипотетический сценарий: найм специалиста по данным

Большинство специалистов по данным, которых я вижу на рынке труда, на самом деле являются просто аналитиками, которые изучали Python, R, pandas и scikit-learn в МООК. Они принимали участие в некоторых соревнованиях Kaggle и имеют небольшой профессиональный опыт. И они хотят продемонстрировать свои знания в реальном мире.

Это самая сексуальная работа 21 века. Никто больше не хочет создавать информационные панели и отчеты, все хотят работать с искусственным интеллектом.

Если вы разместите объявление о поиске работы для специалиста по данным, появится множество кандидатов, и вы, вероятно, столкнетесь со следующими ситуациями:

  1. В ходе ваших собеседований, тестов и проверок будет успешно выбран специалист по данным, обладающий некоторыми инженерными качествами в области машинного обучения. Он / она будет иметь хорошие навыки программирования и теоретические знания нескольких алгоритмов и их приложений.
  2. Вы покажете ему / ей свои «данные, которые где-то хранятся». А затем даст ему / ей открытую проблему для работы. Что-то вроде: мы хотим снизить риск дефолта, или нам нужно увеличить продажи.
  3. Он попытается использовать данные, применяя модели и алгоритмы, чтобы решить предложенную вами проблему. И, вероятно, потерпит неудачу.
  4. Затем вы начнете давать ему задачи, которые следует направить аналитику бизнес-аналитики, например, разработать панель мониторинга для отслеживания ежедневных продаж или автоматизировать некоторые вспомогательные задачи.
  5. Через некоторое время ваш специалист по данным будет разочарован. В конце концов, он не может применять полученные знания на курсах и соревнованиях. Он начнет рассматривать сообщения о вакансиях в других компаниях, поскольку они, очевидно, занимаются настоящей наукой о данных - трава всегда зеленее по ту сторону забора.
  6. Ваш бизнес не получит ожидаемой выгоды от найма специалиста по обработке данных. В лучшем случае у вас будет немотивированный аналитик бизнес-аналитики, зарабатывающий столько же, сколько аналитик данных. Возможно, вам придется искать замену профессионалу.

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

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

Ваши данные (вероятно) мусор!

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

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

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

Но затем наступил момент, когда вы начали понимать, как данные могут помочь вашей компании увеличить долю рынка, повысить эффективность и т. Д. И вы видели все эти данные там… доступные… просто использованные для создания отчетов и объяснения того, что уже произошло… просто ожидание, чтобы принести больше пользы.

Что, если бы можно было предсказывать будущее? А как насчет оптимизации бизнес-политик? Или удержать клиента, который вот-вот уйдет? Что ж, у вас есть данные - их очень много. Они там… беспокойные, кричащие, призывающие, чтобы их использовали. Вы чувствуете себя Евой в Эдемском саду. Змея спрашивает: «А с какого дерева в саду не ешь?». Да, вы впадаете в искушение и нанимаете специалиста по данным, о котором я упоминал в предыдущей гипотетической ситуации.

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

Тем не менее, бывают ситуации, когда транзакционные данные на самом деле являются мусором, поскольку сборка не выполняется должным образом. Я встречал ситуации, когда система не хранит всю информацию о транзакциях или не хранит преобразованные данные, что делает невозможным возврат к исходным компонентам. Более двух лет сбора данных, которые могли быть полезны для разработки фантастической модели прогнозирования, были полезны только для увеличения затрат компании на хранение.

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

Нанять ученого. Тот, кто работает с данными.

Ученым приходится иметь дело с каждым этапом эксперимента, от своей концепции до публикации результатов. Обычно это профессионалы со степенью в области физики, химии, математики, статистики или биологии. Они могут не знать всего о машинном обучении, но на этом этапе чтения, я думаю, я уже высказал свою точку зрения: вам не обязательно нужен кто-то, кто может внедрять методы scikit-learn.

Поток научных исследований обычно выглядит следующим образом:

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

Ученый проверяет идеи и гипотезы. Он терпит неудачу, учится и в конце концов находит решение. Если вам нужно, чтобы дела делались очень быстро, наймите опытного ученого. Точно знайте, какова ваша ситуация с данными, затем проверьте опыт кандидата, убедившись, что он / она уже сталкивался с чем-то подобным. Спросите, какие действия он предпринял и чему из этого научился. Опытный ученый сможет решить подобные задачи быстрее.

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

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

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