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

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

Инжиниринг может быть разным

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

1) Предсказать Y на основе набора переменных.

2) Найдите основные факторы эффективности бизнеса.

3) Предсказать временной ряд на основе прошлых значений.

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

Научный метод (взято из википедии)

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

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

1) На основе фактических данных. Рабочий процесс основан либо на данных, полученных либо из литературы, либо из опыта.

2) Предположения-тестирование-аналитика: четкое описание предположений, лежащих в основе рабочего процесса, четкая процедура тестирования и четкое объяснение что означает понимание неудачи или успеха протокола.

3) Версии. Существует четкий способ оспорить или улучшить протокол.

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

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

Связанный

Первоначально опубликовано на www.skampakis.com 21 ноября 2015 г.