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 и Удемы.
Если вы начинающий специалист по данным, это отличный курс, который поможет вам начать свое путешествие в науку о данных и убедиться, что у вас есть базовые навыки работы с данными для моделирования.
Удачного обучения!