«Взгляд на проект по науке о данных с точки зрения любого проекта разработки программного обеспечения»

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

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

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

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

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

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

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

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

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

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

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

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

Первоначально опубликовано на https://www.seemasutradhar.com.