Время прочтения: 4 мин.

Те из вас, кто только начинает свой путь в Data Science, изучает машинное обучение и Process Mining, как и я, сталкивается с пониманием, что практика и работа с реальными данными и бизнес-задачами совсем не похожи на проекты в Python с использованием тестового набора данных. В «реальных» проектах сталкиваешься со множеством проблем: запутанные и неполные данные, которых ещё и очень-очень много и лежат они непонятно где, неясные цели, непонимание участников твоей же команды, которые ждут быстрый результат, прекрасно работающие на тестовых данных модели, вдруг теряют производительность и т.д. и т.п.

Поэтому, чтобы стать успешным специалистом с проектами, о которых не стыдно рассказать, начинаешь стараться подходить к проекту продуманно, учитывать множество различных факторов, не только с точки зрения ИТ-специалиста, но и с точки зрения бизнеса. Но, если цель – провалить проект любой ценой, то есть несколько несложных советов:

Начните проект без установленной цели.

Всегда можно начать строить датасет и выбирать модели с неопределённой целью, такой как «Найти все нарушения сотрудников!» или «Увеличить продажи!». Почему бы просто не поиграть с данными и посмотреть, что получится?

Не объясняйте никому, что можно ожидать от проекта.

Некоторые люди часто ожидают чудес от Data Science, machine learning и Process Mining. Многие считают, что если использовать один из этих инструментов, то любые проблемы решатся сами собой. Не разрушайте мечты, объясняя реальные возможности машинного обучения.

Не привлекайте экспертов к проекту.

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

Начинайте проект без четкого понимания наличия данных и доступа к ним.

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

Очистка данных? Можно же игнорировать или удалить лишние строки.

Очистка данных занимает слишком много времени. Сделайте только самый минимум: заполните пропущенные значения средним или константой и удалите выбросы. Все проблемы, связанные с нормализацией данных, некорректными значениями, балансировкой наборов данных и проектированием функций, переоценены. Вы — специалист по данным, ваша задача — экспериментировать с моделями и сделать как можно больше проектов. Почему вы должны тратить до 80% своего времени на очистку и предварительную обработку данных?

Не тратьте время на анализ данных и понимание специфики датасета.

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

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

Например, вы можете начать с нейронных сетей, они же сейчас очень популярны. И чем больше слоев, тем лучше! Очевидно, что простые модели никогда не дают внушительных результатов, которые дает глубокое обучение. Простые модели только для новичков. Для всех остальных играть в нейронные сети гораздо интереснее.

Всегда придумывайте оправдания.

Почему эта замечательная, но странная модель работает так плохо? Не в чем себя винить, вы сделали все возможное! Возможно, «эту проблему невозможно решить с помощью машинного обучения и Process Mining» или «у нас нет необходимых данных».

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