Вот мой шаблон рабочего процесса Data Science
Оглавление
- Введение
- Исследование данных, агрегация данных и разработка функций
- Сравнение алгоритмов
- Краткое содержание
- Рекомендации
Хотя есть написанные мной статьи, охватывающие весь процесс обработки данных, включая такие аспекты, как понимание бизнеса и сотрудничество с заинтересованными сторонами, вместо этого я хотел сосредоточиться исключительно на самой части науки о данных. В этой статье я предоставлю шаблон, который может использовать любой специалист по обработке и анализу данных. Я предполагаю, что все больше специалистов по данным среднего и старшего уровня уже следуют этому общему шаблону, поэтому, если вы младше по старшинству, только начинаете или интересуетесь наукой о данных, эта статья для вас. Тем не менее, давайте углубимся в основные части процесса обработки данных, включая этапы исследования данных, агрегации данных, проектирования функций и сравнения алгоритмов.
Исследование данных, агрегация данных и разработка функций
Мы хотим иметь в виду, что компании и роли различаются, поэтому этот шаблон может быть обновлен в зависимости от того, что для вас. Описанные ниже шаги выполняются после того, как вы уже определили бизнес-проблему и встретились с заинтересованными сторонами. Также может быть верно, что вы несете ответственность и за другие части этого процесса, где я определяю инженерию данных и анализ данных, в зависимости от вашей ситуации.
Исследование данных
- Определите свой первоначальный набор данных → у вас, скорее всего, уже есть предположения о том, какие данные вам нужны, еще до обучения вашей модели, поэтому вы начнете с этих функций и продолжите итерацию.
- Определите источники этого набора данных → взят ли он из текущей таблицы базы данных компании, одноразовой таблицы Google Sheet/Microsoft Excel, сторонней платформы данных и т. д.?
- Существуют ли данные в настоящее время? → Если да, двигайтесь вперед. Если нет, то, скорее всего, вы будете работать с инженерией данных/аналитикой данных и т. д., чтобы обеспечить точный источник необходимых данных, принимаемых моделью.
Агрегация данных и разработка функций
- Ваши данные уже правильно агрегированы? → Если да, двигайтесь вперед. Если нет, то вам нужно будет агрегировать данные и сохранить их в этом формате. Например, вы можете захотеть агрегировать свои строки для обучающих данных, основанных на уровне округа штата ( географическая группировка ), если вы хотите прогнозировать население на уровне округа. Возможно, вы сможете агрегировать данные без помощи инженеров данных с хранилищем и вместо этого выполнять некоторые методы группировки с чем-то вроде pandas на языке программирования Python.
- Вы хотите создать новые функции модели? → Если да, двигайтесь вперед. Если нет, то определите и протестируйте дополнительные функции, которые могут объяснить расхождения в том, что вы прогнозируете, с помощью таких инструментов, как корреляция с целью, автоматический выбор функций, важность функций SHAP и т. д.
Ключевым выводом этого раздела является то, что у вас может быть не так много релевантных данных/функций, как вы ожидаете, начиная с вашего проекта по науке о данных. При этом важно помнить об этой ситуации, когда вы начинаете исследование первоначальных данных.
Сравнение алгоритмов
Следует иметь в виду, что последний шаг последнего раздела, разработка функций , может переключаться вперед и назад с порядком сравнения алгоритмов , потому что вы можете обнаружить, что разные функции более полезны или проще в использовании для определенных алгоритмов.
Теперь у вас есть свои функции ( или, по крайней мере, отправная точка ), вам нужно выбрать конкретный алгоритм для использования в вашей окончательной модели.
Сравнение алгоритмов
- Является ли ваша цель непрерывным числом или категорией? → Если ответ представляет собой непрерывное число, то вы будете сравнивать алгоритмы регрессии, если категория, то вы будете сравнивать алгоритмы классификации.
- Какой алгоритм выбрать? → Легче начать с максимально возможного количества алгоритмов, которые вы понимаете, а затем сузить их. Существует множество способов сравнить алгоритмы, например запустить каждый из них по отдельности или создать цикл, который сравнивает все выбранные вами алгоритмы, но самым простым я считаю использование библиотеки, которая уже сравнивает алгоритмы бок о бок. , как библиотека PyCaret Моэза Али — по следующей ссылке показана невероятно ценная функция comapre_models():
- На что я обращаю внимание при сравнении различных алгоритмов? → Вы можете сравнить несколько вещей, в зависимости от вашего варианта использования, но обычно вам нужно посмотреть на функцию потерь, например, MAE или RMSE, для цели регрессии. Вы также можете посмотреть, сколько времени заняло обучение и нужно ли вам добавить настройку гиперпараметров и многое другое.
Сравнение алгоритмов раньше было намного более утомительным, и с годами появляется все больше и больше инструментов, которые вы можете использовать для простого сравнения алгоритмов, поэтому вы можете тратить больше времени на тот, который вы в конечном итоге выберете. Вы даже можете обучать и сравнивать несколько алгоритмов в одном и том же временном окне, упрощая оптимизацию для конкретной функции потерь в темпе обучения, чтобы вы не устанавливали только один алгоритм, поскольку ваши исходные данные и предположения могут измениться.
Краткое содержание
Хотя компании и роли могут различаться и действительно различаются, есть несколько ключевых шагов в процессе обработки данных, которые широко практикуются. Мы рассказали о нескольких шагах, которые охватывают рабочий процесс обработки данных для обычного проекта.
Подводя итог, вот те шаги, которые мы обсуждали в нашем шаблоне рабочего процесса по науке о данных:
- Определите исходный набор данных
- Определите источники этого набора данных
- Существуют ли данные в настоящее время?
- Ваши данные уже правильно агрегированы?
- Вы хотите создать новые функции модели?
- Является ли ваша цель непрерывным числом или категорией?
- Какой алгоритм выбрать?
- На что я обращаю внимание при сравнении различных алгоритмов?
Я не связан ни с одной из этих компаний.
Пожалуйста, не стесняйтесь проверить мой профиль, Matt Przybyla и другие статьи , а также подписаться на получение уведомлений по электронной почте для моих блогов, перейдя по ссылке ниже или нажав значок подписки в верхней части экрана рядом со значком подписки. , и свяжитесь со мной в LinkedIn, если у вас есть какие-либо вопросы или комментарии.
Ссылка для подписки: https://datascience2.medium.com/subscribe
Реферальная ссылка: https://datascience2.medium.com/membership
( Я получу комиссию, если вы зарегистрируетесь на Medium )
Рекомендации
[1] Фото создателей кампании на Unsplash (2018 г.)
[2] Фото Джейсона Бриско на Unsplash , (2019)
[3] Фото Лиз Санчес-Вегас на Unsplash , (2019)
[4] Моэз Али , PyCaret, Учебное пособие по регрессии PyCaret (REG101) — уровень для начинающих , (2023)

![В любом случае, что такое связанный список? [Часть 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































