Как изучить Data Science по-настоящему, а не развлекаться трюками
Если наука о данных кажется вам несложной — у вас недостаточно данных.
megan_rexazin / pixabay
Путь в Data Science в изложении блогеров, популяризаторов и энтузиастов часто напоминает набор сравнительно несложных трюков и приёмов. Сначала немного Python’а, затем дюжина функций из библиотеки Pandas, потом обучаем модель линейной регрессии, и — вуаля! Вы дата-сайентист.
Но коллективный опыт индустрии и здравый смысл подсказывают, что между падаваном, который владеет несколькими трюками, и хорошим дата-сайентистом — весьма приличная дистанция.
В терминах классической педагогики изучение Data Science — это сложная образовательная задача, а сам Data Science — сложный навык. То есть он не сводится исключительно к сумме простых навыков — для его освоения нужны ещё три условия:
- Вспомогательные знания. Когда и в каких ситуациях применять те или иные простые навыки. Эти знания можно представить в виде эвристических схем «если — то — иначе». Чтобы описать сложный навык, понадобятся целые леса из таких схем.
- Процедурные знания. Объясняют, как именно применять навыки. Чаще всего это инструкции, руководства или чек-листы.
- Практика отработки задач по частям. Помогает закрепить простые навыки не по отдельности, а в правильных сочетаниях и последовательностях — от небольших цепочек приёмов до законченных циклов действий.
Если не забывать про все четыре компонента — три перечисленных плюс набор приёмов, — изучение Data Science будет более эффективным. Списки необходимых навыков и приёмов можно найти, например, в нашей недавней статье о карьерном пути дата-сайентиста.
Быть Джуном Мидловичем, Д. С.
Успешная работа в Data Science требует сплава знаний из программирования, статистики и консалтинга. Вот примеры задач, которые решает дата-сайентист:
- оценка потребностей заказчика;
- отбор данных для анализа;
- загрузка данных в среду разработки;
- удаление выбросов и обогащение данных;
- выбор и настройка модели;
- интерпретация результатов работы модели.
Настоящий специалист решает задачи согласованно и с учётом их взаимного влияния, а не по отдельности — «сферически в вакууме».
Эти сложные взаимосвязи рабочих задач дата-сайентиста порождают цепочки верхнеуровневых вопросов. Например:
- Как заполнить пропущенные значения в данных, исходя из особенностей бизнеса и потребностей заказчика?
- Какие параметры выбрать у моделей, если пропущенные значения заполнены тем или иным способом?
- Почему модель выдаёт странные результаты: я выбрал не те параметры, не разобрался в отрасли или просто не понял заказчика?
Традиционный подход — последовательно осваивать простые навыки, а в конце объединить их в один сложный. Такой метод помогает понять каждый шаг решения, но обычно игнорирует взаимосвязи между ними. Альтернатива — решать задачу целиком, учитывая взаимные и обратные связи между этапами. Звучит хорошо, но как это сделать?
Решаем задачи целиком
Пол Хиемстра, преподаватель и практик Data Science, даёт три совета тем, кто хочет эффективно изучать науку о данных.
Работайте над проектами целиком. У начинающих дата-сайентистов обычно скромная роль, они отвечают за небольшие кусочки проекта. Эту проблему решает pet-проект, который можно делать параллельно с основной работой. Он поможет помнить о масштабе и не работать над разными этапами по отдельности. Конечно, придётся осваивать и точечные навыки (например, какую-нибудь Python-библиотеку), но потом сразу возвращайтесь к целой задаче.
Как сделать pet-проект: найдите датасет из интересующей вас области и проанализируйте его, например, по методологии CRISP-DM. Описывайте каждое своё действие, а главное — соединяйте шаги между собой. Для этого подойдут сервисы типа Google Colab и Jupyter Notebooks. Подробный отчёт о pet-проекте украсит ваше портфолио.
Найдите хорошего наставника. Обсуждать свою работу с опытным дата-сайентистом — хорошая практика. Так вы прокачаете метакогнитивные навыки, которые необходимы для быстрого разбора сложных проблем. В общении с наставником старайтесь фокусироваться на том, как вы решаете проблему — то есть на подходе и идеях, а не на самом решении (коде, модели, библиотеке). Вопросы «а как…» позволяют максимально раскрыть и перенять опыт.
Найдите единомышленников. Объяснение своих решений другим людям, ответы на их вопросы — прекрасный способ лучше понять собственную работу. Помните незадачливого «препода» из анекдота, который на третий раз уже и сам понял, что говорит, а студенты так и не смогли? Так вот — это не просто шутка. А слушая решения других, пытайтесь в первую очередь выяснить, почему ваш собеседник сделал что-либо (например, выбрал конкретную модель).
Что в итоге
Если помнить про целостный подход и четыре компонента обучения сложному навыку, получится не только брать лучшее из статей и блогов по Data Science, но и грамотно составлять собственные планы изучения конкретного сложного навыка. Как это сделать:
- Составьте список необходимых простых навыков. Их несложно нагуглить.
- Пропишите сценарии применения этих простых навыков в рамках сложного. Скорее всего, надо будет обратиться к специализированным блогам, форумам, книгам, подкастам.
- Научитесь применять каждый навык изолированно, опираясь на инструкции, руководства и документацию. Как правило, их можно найти на официальных сайтах или в блогах разработчиков.
- Составьте серии задач с увеличением сложности, для решения которых каждый раз будет требоваться всё больше простых навыков. Поиск в интернете по фразе «<название навыка> + задачи» даст вам начальные ориентиры.
Когда составите список, посоветуйтесь с наставником или единомышленниками, чтобы понять, какие задачи стоит убрать, а каких не хватает.
Далее следуйте плану. А собранные материалы станут отличной основой для поста в блог, Telegram-канала, подкаста или видео — так вы поможете другим людям и повысите свой статус.