Что я бы сделал иначе, задним числом

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

«Оценка качества данных и прогнозная аналитика для взаимодействия с клиентами в секторе B2B»

И, конечно же, предложение не будет полным без таких фраз, как #BigData #DataAnalytics #StatisticalModel #MachineLearning и бла-бла-бла…

Прежде чем мы углубимся в подробности, позвольте мне пояснить, что я имею в виду. Я не специалист по информатике или ИТ как таковой, но аспирант по бизнесу и менеджменту, с сильной привязанностью к аналитике данных. Поэтому мои взгляды, вероятно, больше ориентированы на людей с похожим опытом - тех, у кого есть некоторый опыт программирования (вы знаете, что такое if...else statement) и признательность за технологии (слава Богу, что Google отвечает на все мои вопросы), и хотел бы подать заявку те, кто решает реальные бизнес-задачи.

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

Также, чтобы убедиться, что мы находимся на одной странице среднего предприятия, это типичный семейный немецкий Mittelstand. Годовой доход компании составляет около 2 миллиардов евро, в ней работает более 10 тысяч сотрудников в более чем 70 странах мира. В зависимости от того, откуда вы приехали, для некоторых это может показаться большим предприятием, но я оставляю эту интерпретацию на ваше усмотрение.

5 уроков, которые я извлек для создания моделей машинного обучения для предприятий

1. Определите свою конечную цель и промежуточные этапы

Ошибка №1: я был одержим обычным процессом CRISP-DM и слишком много внимания уделял общим задачам интеллектуального анализа данных и отклонялся от фактической бизнес-цели, которая заключалась в выявлении потенциальных клиентов.

Важно иметь четкое определение того, чего вы пытаетесь достичь с самого начала, и иметь эту цель в контексте при изложении определенных задач в соответствии с процессом CRISP-DM. Например, исследовательский вопрос по моей теме состоит в том, чтобы выяснить, сколько дополнительных клиентов присутствует в наблюдаемый период, у которых все еще может быть не менее 80% шансов на конверсию. Узнав эту конечную цель, я могу провести мозговой штурм в обратном направлении, чтобы определить промежуточные этапы, которые помогут мне продвинуться к этой цели. В этом случае я сначала должен узнать оценку вероятности на основе моделей с хорошими результатами прогнозирования, а для этого я должен ввести соответствующие функции и данные хорошего качества в модели для оптимизации производительности. Отмечая все эти этапы и придерживаясь плана CRISP-DM, вы убедитесь, что следуете правильным подходам в процессе интеллектуального анализа данных, но в то же время не упускаете из виду свою конечную цель.

2. Пройдите милю на их месте

Ошибка №2: я всегда представлял результаты так, как я их интерпретировал, слайды были заполнены матрицами путаницы, отчетом о классификации и классными модными словами. На самом деле никого не волнует, насколько хороши ваши данные или насколько точны ваши прогнозы, для них важно то, чего достигла ваша работа и как ваша работа повлияет на работу других людей?

Если вы работаете над проектом машинного обучения (ML), скорее всего, вы работаете не один. Работаете ли вы с другими инженерами данных, аналитиками-исследователями, маркетологами, продавцами или руководителями, поставьте себя на их место и попытайтесь увидеть общую картину с их точки зрения. Рассказывать истории, а не рассказывать факты. Например, ваши коллеги по маркетингу могут быть разочарованы неудачными маркетинговыми кампаниями из-за того, что не могут конвертировать целевую аудиторию. Вы можете предложить им решение для выявления потенциальных клиентов, помогая им увеличить шансы на успешную кампанию. Но если вы представили свои результаты, подчеркнув точность своих моделей, они, возможно, не смогут сразу связать их. Таким образом, говорите не только на вашем языке, но и на их языке.

3. Необязательно строить все с нуля

Ошибка № 3: были времена, когда я пытался построить алгоритм машинного обучения с нуля, и только на полпути я понял, что для него уже существует библиотека Python.

Всякий раз, когда у вас появляется идея реализовать модель машинного обучения, не спешите строить ее с нуля. Независимо от того, над какими языками программирования вы работаете, маловероятно, что вы будете первым, кто это реализует. Github всегда является хорошей отправной точкой для изучения существующих проектов, подобных вашему, и Stack Exchange, вероятно, сможет ответить на большинство ваших вопросов. Поскольку построение модели машинного обучения - это не только прогнозирование, ваши коды также будут включать фрагменты для предварительной обработки данных и оценки производительности после прогнозирования. Создание всей кодовой базы с нуля потребует у вас много времени и ресурсов, которые в противном случае лучше потратить на другие рабочие процессы. Возьмем, к примеру, Python, существует множество установленных библиотек машинного обучения, таких как Scikit-learn, TensorFlow и PyTorch.

4. Правило 80/20

Ошибка №4: сначала я подумал, что моя модель действительно плохая, и продолжал доводить алгоритм до мелочей. Я мало знал, что виноватыми были данные, которые я ввел в модель. В итоге я потратил 80% времени на очистку и подготовку данных.

Каждый новичок в области анализа данных усвоит это на собственном горьком опыте, и я хотел бы знать об этом раньше. Так же, как и головоломка мусор на входе, мусор на выходе, иногда самое очевидное остается самым незамеченным. Когда вы пытаетесь ETL данных из их подлинного источника, убедитесь, что целостность и качество данных сохраняются в процессе. Кроме того, функции, которые вы выбираете для обучения модели машинного обучения, должны также соответствовать общепринятому соглашению о выборе функций, чтобы не быть избыточными и неинформативными. В конце концов, вы не должны удивляться тому, как мало времени вы потратили на фактическую задачу построения модели машинного обучения, а сколько времени вы бы потратили на один шаг вперед, то есть на подготовку и очистку данных. Соотношение 80:20 - хорошее эмпирическое правило для оценки этого крайне непропорционального распределения.

5. Узнайте, как учиться

Ошибка № 5: Изначально я был доволен некоторыми привычными практиками, которыми с комфортом занимаюсь в течение долгого времени, и отказывался выходить из своей зоны комфорта. Например, я использовал цепочку операторов and и or для условной проверки строки (строк). Мой коллега посоветовал мне использовать Regex, но я подумал, что кривая обучения будет слишком крутой. Однако после того, как я, наконец, перешел на Regex, я понял, насколько компактнее стали мои коды, и это определенно улучшило универсальность строкового поиска.

Отношение, мироощущение, мироощущение!

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

Заключение

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