20 задач, которые должен выполнить каждый специалист по данным ДО моделирования

Вы только что узнали, как сделать lr = LinearRegression() в Python. Поздравляю! Вы рады начать создавать модели машинного обучения…

Но вы сталкиваетесь с некоторыми проблемами.

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

Реальность такова, что специалисты по данным выполняют массу подготовительной работы ДО моделирования — до 80% их времени тратится на задачи подготовки данных.

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

Определение масштаба проекта

Прежде чем погрузиться в моделирование, важно сделать шаг назад и подумать, почему вы вообще занимаетесь моделированием.

Шаг 1. Думайте как конечный пользователь
Шаг 2. Обсудите проблемы и решения
Шаг 3. Закрепите методы машинного обучения и требования к данным
Шаг 4. Обобщите объем и цели

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

На этом этапе вы можете обнаружить, что, хотя машинное обучение может быть одним из решений проблемы, на самом деле может быть лучшая альтернатива, и машинное обучение вообще не нужно!

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

Сбор данных

Теперь пришло время получить некоторые данные!

Шаг 5. Найдите данные из нескольких источников
Шаг 6. Считайте данные в Pandas DataFrames
Шаг 7. Быстро изучите фреймы данных

После того, как вы определили свои источники данных и область действия, следующим шагом будет фактически найти эти данные, прочитать их в Python как Pandas DataFrames и быстро изучить данные, используя такие методы, как .describe() и .info(), чтобы убедиться, что данные были прочитаны правильно.

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

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

Именно здесь специалисты по данным проводят большую часть своего времени.

Шаг 8. Преобразование данных в правильные типы данных
Шаг 9. Выявление и обработка отсутствующих данных
Шаг 10. Выявление и обработка несогласованного текста и опечаток
Шаг 11. Выявление и обработка повторяющихся данных
Шаг 12. Определите и обработайте выбросы
Шаг 13. Создайте новые поля из существующих полей

Первое, что мне нравится делать при чтении новых данных, — это просматривать типы данных полей. Если что-то кажется необычным (например, числовое поле было прочитано как текстовое поле), было бы неплохо решить эту проблему заранее, прежде чем сталкиваться с проблемами в будущем.

Далее я перехожу к основной части очистки данных — решению проблем с грязными данными. Я включил четыре из наиболее распространенных проблем, с которыми я сталкивался на практике: отсутствующие данные, противоречивые данные, повторяющиеся данные и выбросы.

Важно решить эти проблемы перед моделированием, потому что модель хороша настолько, насколько хороши ее данные.

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

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

Как только данные в основном чистые (помните, что идеально чистые данные встречаются редко!), начинается самое интересное.

Шаг 14. Просмотрите данные с разных точек зрения
Шаг 15. Визуализируйте данные, чтобы быстро определить тенденции и закономерности

С помощью исследовательского анализа данных (EDA) вы можете начать получать ценную информацию, просматривая свои данные различными способами, фильтруя, сортируя и группируя данные, а также визуализируя данные с помощью гистограмм, точечных диаграмм и парных диаграмм.

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

Подготовка к моделированию

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

Шаг 16. Создайте единую таблицу
Шаг 17. Задайте правильную степень детализации строк
Шаг 18. Убедитесь, что каждый столбец не является нулевым и числовым
Шаг 19. Разработайте новые функции
Шаг 20. Разделите данные на наборы для обучения, проверки и тестирования.

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

Оттуда вам нужно определить, как должна выглядеть одна строка данных. Если вы делаете прогнозы о покупателе, то одна строка данных должна представлять покупателя, а не каждую его покупку. Вот где .groupby() пригодится!

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

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

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

Я создал курс, в котором подробно рассматриваются все этапы подготовки данных, под названием Наука о данных в Python: подготовка данных и анализ данных, который можно найти на платформе Maven Analytics и Удемы.

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

Удачного обучения!