Знание того, как создавать соответствующие обучающие наборы данных, требует от вас действительного понимания того, что имеет значение.
В последние несколько лет создание новой прогностической модели стало чрезвычайно простым. Существует множество инструментов, которые позволяют легко взять набор данных и создать обученную модель. Обучение А.И. это легкая часть (давайте пока проигнорируем генеративный ИИ).
Обычно говорят, что наиболее трудоемкой частью работы специалиста по данным является «обработка данных» — агрегация, преобразование и очистка данных, которые в конечном итоге будут использоваться для обучения и оценки модели. Хотя это правда, я обычно считаю, что эту часть работы легко реализовать.
Одной из наиболее важных частей создания алгоритма прогнозирования является определение структуры и содержания данных, которые вы используете для обучения своих моделей. Кто-то скажет, что это фиче-инжиниринг, и, хотя я не согласен, я считаю, что это название слишком ограничивающее.
Когда я думаю об инженерии признаков, я думаю о математическом объединении или преобразовании известных точек данных таким образом, чтобы модель могла более точно делать прогнозы.
Скорее, я имею в виду концептуализацию и творческое представление данных, которые оказывают наибольшее влияние на показатель, который вы пытаетесь предсказать.
Пример
Это звучит немного расплывчато, поэтому позвольте мне привести пример.
Допустим, вы работаете специалистом по обработке данных в компании-разработчике программного обеспечения, которая занимается продажами для предприятий, и вас попросили создать модель, позволяющую предсказать, кто из ваших существующих клиентов с наибольшей вероятностью потратит на вас больше. Результаты вашей модели будут предоставлены вашей команде по продажам и маркетингу, которые сосредоточат свои усилия на первых 10% аккаунтов, предсказанных вашей моделью.
Вам, как специалисту по обработке и анализу данных, теперь необходимо создать обучающий набор данных, который, скорее всего, будет предсказывать будущие расходы клиентов. Для этого вам потребуется глубокое понимание того, почему ваши клиенты используют ваш продукт, насколько велики ваши клиенты, какой процент их сотрудников использует ваш продукт, где есть возможности для улучшения и как вы можете количественно оценить все эти возможности.
Вам нужно будет глубоко понять продукт, ценность для клиента, ваши внутренние процессы продаж и маркетинга, а также более широкую область проблем, которую ваш продукт решает для ваших клиентов. Чтобы сделать это эффективно, вы, как специалист по данным, должны быть очень хорошо информированы обо всех аспектах вашего бизнеса.
Специалисты по обработке и анализу данных, создающие самые лучшие и предсказуемые модели, как правило, лучше всего «понимают данные» и во многих случаях понимают, почему эти данные в первую очередь полезны.
Самая творческая часть построения прогностической модели заключается в том, чтобы решить, какие данные наиболее полезны для включения. Нет гидов, которые могли бы вам помочь. Не существует количественных показателей, которые помогут вам понять влияние данных еще до того, что вы даже подумаете о том, чтобы включить их. Вам, как специалисту по данным, нужно выдвинуть гипотезу о том, что работает.
Когда у вас есть список идей для потенциальных функций, вы можете приступить к пониманию того, какие из этих точек данных обладают прогностической силой, и можете приступить к оптимизации этих точек с помощью разработки функций.
Но чтобы хоть туда попасть, нужно начинать с понимания бизнеса.
Мой процесс создания новой прогностической модели
Поэтому, вероятно, неудивительно, что всякий раз, когда я начинаю создавать новую модель, первые несколько вещей, которые я делаю, — это определяю цель (часто я начинаю с бизнес-задачи или цели продукта еще до того, как подумаю об этикетке), со списком потенциальных функций, а затем начните анализировать, сколько времени потребуется, чтобы объединить эти функции в организованную структуру (крупные компании часто имеют хранилища функций или структурированные хранилища данных общих функций, которые можно использовать для простого и быстрого поиска значений признаков).
Чтобы составить список потенциальных функций, я часто общаюсь со многими заинтересованными сторонами, а также провожу собственное исследование, чтобы понять, что потенциально может повлиять на объективную метрику. Важно получить более полное представление обо всех областях, которые потенциально могут повлиять на мою объективную метрику, прежде чем я начну.
Как только у меня будет список потенциальных функций, и если у меня будет время (часто не в случае небольших компаний и стартапов), я проведу исследовательский анализ данных (EDA), чтобы лучше понять данные и посмотреть, следует ли мне редактировать/ удаление/преобразование любого из них.
Затем я постараюсь построить базовую модель как можно быстрее и проанализирую производительность на проверочных данных, чтобы понять, стоит ли вкладывать в модель дополнительные ресурсы.
Надеюсь, у меня будет точная модель, которую я смогу оптимизировать. Если нет, я потрачу больше времени, пытаясь понять, какие точки данных мне, возможно, потребуется добавить, чтобы более точно понять объективную метрику. Как только все будет готово, я займусь производством модели (самой чудовищной темы), а затем перейду к ее мониторингу и настройке.