Hola amigos,

Надеюсь, у вас все отлично, и во-первых, желаю вам впереди прекрасного дня!

Это я, Санат, вернулся со своим вторым блогом, посвященным одной из самых основных и важных идей, лежащих в основе любого проекта в области науки о данных - Жизненный цикл науки о данных .

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

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

Проблема со многими начинающими специалистами по данным заключается в том, что они думают, что машинное обучение и наука о данных - это все о модном моделировании, но что, если я скажу, что, хотя моделирование является важной частью, специалистам по данным предстоит много грязной работы. in, прежде чем передавать данные в алгоритм по вашему выбору. Откровенно говоря, моделированием будет от 15 до 20% вашей работы, рано или поздно вам придется принять этот факт, как и мне: P

Этапы жизненного цикла науки о данных

  1. Деловые требования / понимание.
  2. Сбор данных.
  3. Очистка данных.
  4. Исследовательский анализ данных.
  5. Моделирование.
  6. Оценка эффективности.
  7. Общение с заинтересованными сторонами.
  8. Развертывание.
  9. Тестирование в реальном мире.
  10. Бай-ин
  11. Операции и оптимизация.

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

Бизнес-требования / понимание

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

Сбор данных

Этот этап включает в себя знание инженерии данных, где несколько инструментов будут использоваться для импорта данных из нескольких источников, начиная от простого CSV-файла в локальной системе до большой БД из хранилища данных. Справедливое / разумное понимание конвейеров ETL и языка запросов будет полезно для управления этим процессом. В некоторых случаях набор данных будет недоступен, если мы будем использовать методы на основе API или веб-скрейпинга для хранения наших данных. В Python у нас есть отличная библиотека под названием beautifulsoup, которая позволяет с легкостью выполнять парсинг с веб-сайтов, но некоторые веб-сайты не позволяют вам очищать свои сайты, и в этом случае вы можете столкнуться с проблемами при попытке сделать это. Всегда исследуйте страницу и очищайте ее только в том случае, если это разрешено законом.

Очистка данных

Это грязная часть (возможно, в некоторых случаях) проекта по науке о данных, которая требует значительного количества времени и, к тому же, наиболее важна, когда в игру вступают ваши навыки программирования. Данные, которые мы получаем в реальном времени, не будут легко готовы к просмотру моделей, может потребоваться много предварительных шагов, прежде чем двигаться дальше. Несколько общих шагов, которые будут обеспечены на этом этапе, такие как обработка недостающих данных, обработка выбросов, передача категориальных данных, удаление стоп-слов и изменение текстовых данных для нескольких задач НЛП, а также добавление аудио или изображений и т. Д. Знания в предметной области, которые мы получили в первый шаг может помочь нам вменять недостающие значения и удалять выбросы и т. д. Были высказаны мнения, что модели не нужны все данные, которые у вас есть, ей нужны только полезные и важные части, из которых она может извлекать уроки, которые подчеркивают, что вместо этого наполнения модели всеми данными, которые у нас есть, просто очистите ее и отправьте надлежащим образом, чтобы максимизировать пропускную способность.

Исследовательский анализ данных

В той части, где начинается настоящая работа по изучению данных, на этом этапе мы будем выполнять несколько статистических тестов и методов визуализации, чтобы узнать больше деталей / шаблонов о базовых данных. Наблюдаемые нами детали могут быть похожи на проверку базового распределения каждой переменной / функции, проверку дисбаланса классов, если таковая имеется, выполнение нескольких тестов гипотез и т. Д. Вы можете задаться вопросом, зачем нужны все эти детали, но именно эти детали дают нам первый уровень понимание того, какие типы алгоритмов будут работать, а какие нет. Например, в линейных моделях данных очень высокой размерности, таких как Log. регрессии, SVM имеет тенденцию работать хорошо, и в то время как в очень немногих измерениях модели на основе деревьев имеют лучшую предсказуемость и могут анализировать сложные тенденции в наших данных. Этот шаг помогает нам исключить нежелательные модели из множества имеющихся у нас моделей. Мы также можем увидеть, помогает ли уменьшение размерности, такое как PCA, tSNE, какие-либо улучшения производительности или нет, и насколько разделимы данные и т. Д. Иногда очистка данных также будет выполняться после EDA, и это зависит исключительно от решаемой проблемы.

Если вы хотите получить подробное руководство по визуализации данных, обратитесь к моему предыдущему исчерпывающему блогу. -> "Ссылка на сайт"

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

Моделирование

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

При построении моделей всегда помните обо всех бизнес-ограничениях, таких как задержка, интерпретируемость моделей, использование калибровки, если мы собираемся использовать вероятностный вывод или потерю журнала в качестве нашей метрики и т. Д. Всегда старайтесь сделать модель настолько простой, насколько возможно. С промышленной точки зрения, когда мы можем использовать логистическую регрессию для классификации точек с точностью до 90%, нет необходимости использовать сложные модели, такие как нейронные сети, если они дают очень небольшое улучшение производительности примерно на 91%. Это полностью отличается в конкурентных средах, таких как kaggle, где производительность важнее сложности и интерпретируемости. Будут обычные случаи, когда вам нужно так долго ждать, пока модель обучится, о чем четко говорит мем ниже.

Оценка эффективности

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

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

Общение с держателями долей

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

Развертывание

Как только мы получили одобрение заинтересованных сторон, пришло время запускать нашу модель в производство. Это может включать сотрудничество нескольких команд, таких как специалисты по обработке данных, инженеры данных, разработчики программного обеспечения и т. Д., В зависимости от характера архитектуры и проблемы, которую мы решаем. Иногда также могут быть случаи, когда из-за проблем с задержкой полученные нами параметры модели будут записаны обратно на таких языках, как C / C ++, который выполняется быстрее, чем python. Вся команда также должна будет убедиться, что нет никаких конфликтов / каких-либо конфликтов с другими приложениями, которые взаимозависимы.

Тестирование в реальном мире

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

Покупка бизнеса

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

Операции и оптимизация

Работа специалистов по анализу данных не только заканчивается вышеупомянутым, но и им также необходимо иметь мониторинг или настройку приборной панели, которая отслеживает KPI постоянно / периодически. С точки зрения данных, есть много случаев, когда построенная сегодня модель будет хороша на данный момент, но производительность может медленно снижаться или может произойти немедленное падение производительности. Причина может быть связана с динамически изменяющимися данными или даже с изменением основного распределения данных. Тогда самое время переобучить нашу модель. Мы также можем переобучить нашу модель сразу же, когда у нас будет накоплено больше новых данных, но переобучение только в случае снижения производительности было бы лучшим выбором. Фаза переподготовки может не иметь таких накладных расходов по сравнению с первоначальным развертыванием.

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

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

Связано: www.linkedin.com/in/sanatmpa

Идентификатор электронной почты: [email protected]

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

Кредиты на поиск изображений в Google для прикрепленных мемов.