Какие навыки нужны специалисту по Data Science
Что нужно знать, чтобы анализировать данные — рассказывают преподаватели школы SkillFactory.
Что такое Data Science
В конце июня 2019 года Google выпустила обновление для своего сервиса «Карты». В новой версии приложение научилось предсказывать задержки в движении общественного транспорта даже тогда, когда у него нет доступа к данным текущего местоположения автобусов. Алгоритм рассчитывает время на дорогу с учётом всех факторов: пробок, расположения остановок, выделенных полос. Среди прочего для построения моделей специалисты использовали снимки из Google Street View.
Предсказание скорости движения общественного транспорта — один из примеров того, как бизнесу и пользователям помогает data science.
Наука о данных — обширная сфера, которая сочетает несколько смежных дисциплин. Это программирование, математика и статистика, бизнес-аналитика и машинное обучение.
Специалисты в этой сфере, аналитики данных, работают с большими массивами данных, извлекая из них полезную информацию. Результат даёт ответы на множество вопросов: например, почему один менеджер заключил больше сделок, сколько единиц товара нужно закупить в следующем квартале и какой компонент лекарства улучшит самочувствие пациента. Для решения некоторых задач специалисты разрабатывают алгоритмы, которые способны генерировать результат без участия человека.
По данным HeadHunter, специалисты в анализе данных в 2017 году получали в России от 130 до 300 тысяч рублей в зависимости от опыта.
Спрос на аналитиков данных увеличивается каждый год: только с 2016 года по 2018 он вырос в два раза. При этом доля вакансий для кандидатов с опытом работы меньше года на четверть выше, чем в целом по ИТ-рынку.
В чём нужно разбираться
Требования к подготовке и уровню профессиональных навыков зависят от того, в какой компании предстоит работать специалисту. Например, в крупных корпорациях аналитику данных важно разбираться в математике и статистике. Маркетплейсам и медиакомпаниям нужны эксперты в разработке рекомендательных систем, а в крупном ритейле — в разработке машинного зрения.
Преподаватели школы SkillFactory изучили вакансии в области Data Science на российском и зарубежном рынке и составили список навыков и областей знаний, которые понадобятся успешному специалисту:
Программирование
Наиболее востребованный и распространенный язык в Data Science сегодня — это Python. До него самым популярным языком был R, который продолжают использовать, например, для анализа данных, научного статистического анализа и в социологии.
Среди прочего Python хорош тем, что на его базе можно разработать практически любую библиотеку, заточенную под выполнение самых разнообразных задач. Базовый дистрибутив Python небольшой, удобен для установки и обновления. Любые дополнительные возможности можно «прикрутить» через специальные библиотеки.
У каждой библиотеки есть обширная документация, поэтому в них легко разобраться. Вокруг самых востребованных и популярных формируются сообщества, которые поддерживают библиотеку, разрабатывают для неё новые модули и функции.
Мы готовы учить людей с нулевым уровнем знаний в программировании. Специально для них мы проводим десять дополнительных вебинаров в рамках курса: пять по вводному блоку и пять по основному. Согласно нашему опросу около трети студентов никогда не программировали, столько же — программировали в школе. Остальные — это люди с каким-то опытом, но матёрых разработчиков среди них мало, чаще всего это люди, которые изучали другие языки программирования.
На курсе мы изучаем базовые алгоритмические конструкции, структуры данных, работу со строками, работу с датами и функции. Начинаем с введения в Python: изучаем кнопки, пишем программу «Hello World». Если студент будет прикладывать хотя бы 40% усилий от своего максимума и вовремя будет давать обратную связь, то изучение даже с нуля не займет много времени. На изучение базового Python понадобится от 2-3 недель до полугода, если заниматься раз в неделю.
Второй этап — знакомство с библиотекой Pandas, которая нужна для сбора, очистки и анализа данных. Это займёт от 1-2 недель если уделять занятиям целый рабочий день и иметь базовые навыки программирования. Нужно быть готовым продолжить обучение после курса: библиотека большая, в ней много функций и настроек, которые нельзя выучить сразу.
Полезные материалы для изучения Python
Pythontutor.ru — хороший бесплатный учебник на русском языке. Это базовая книга, где рассматриваются все основные структуры данных, а ещё много заданий на каждую тему.
- CS50 на русском (Гарвардский курс по основам программирования) — первые лекции стоит посмотреть всем, кто начинает изучать программирование.
- Pythonworld.ru — блог, где подробно объяснены основные вопросы программирования и разных методов.
- Pythonicway.com — похож на предыдущий сайт.
Анализ
Основа работы аналитика данных — работа с данными. В том числе с теми, которые можно «скормить» разработанному алгоритму.
Вокруг огромное количество данных, современное человечество генерирует их с невероятной скоростью каждый день. Эти данные нужно уметь собирать, хранить, приводить в приемлемый для анализа или машинного обучения вид — очищать, форматировать и определять, что именно можно узнать из этих данных.
Анализ данных тесно связан с использованием профильных библиотек для Python и с пониманием математических и статистических основ анализа данных. Важно уметь находить в них закономерности и понимать цели и задачи бизнеса.
Математика и статистика
Заниматься Data Science можно и без глубоких знаний в фундаментальной математике: современные библиотеки содержат огромное количество готовых решений. С их помощью можно анализировать данные и обучать алгоритмы не вдаваясь в математические подробности. Но только до первой по-настоящему сложной или нетипичной задачи.
Разобраться с ними можно только если аналитик данных действительно понимает, как работают все строчки кода «под капотом» с точки зрения математики и статистики. Поэтому крупные компании на собеседованиях часто проверяют уровень знаний соискателя в этих областях.
В чём нужно разбираться специалисту:
Линейная алгебра — основы работы с векторным и матричным представлением данных.
- Математический анализ — для оптимизации моделей и алгоритмов, понимания, где можно «докрутить» модель, чтобы она работала лучше и быстрее.
- Теория вероятности и статистика — для многих алгоритмов машинного обучения, проведения анализа данных и адекватного проведения a/b-тестов. Помогает оценить, насколько вообще можно полагаться на имеющиеся данные, как работать с выбросами в данных, которые могут испортить всю достоверность информации.
- Использование NumPy и других библиотек Python для вычислений и построения моделей. Для математических и статистических вычислений и преобразований уже повсеместно используют возможности Python, а для работы с машинным обучением знание этих инструментов необходимо.
Для изучения Data Science необходимо базовое знание школьного курса по математике. Не на уровне 80 баллов ЕГЭ — достаточно знать, что такое квадратичные уравнения и как они решаются, как умножаются скобки. Важно разбираться в технических моментах.
На курсе по Data Science в SkillFactory изучение математики состоит из трёх блоков: основы линейной алгебры, матанализ и теория вероятности и статистика. Студентам не придётся доказывать теоремы или как-то углубляться в основы. Например, блок про матанализ — это скорее рассказ про математику, из которого становится понятно, что математики умеют сегодня и как этим можно пользоваться.
Полезные материалы по математике
«(Не)совершенная случайность» Леонарда Млодинова.
- «Гарри Поттер и методы рационального мышления» Элиезера Юдковского.
- «Голая статистика» Чарльза Уилана.
- Серия «Образовательная манга».
- YouTube-канал 3blue1brown.
Машинное обучение и глубокое обучение
Обучение нейросетей — один из подразделов машинного обучения, в котором, в свою очередь, выделяется глубокое обучение. Сложная система терминологии связана с тем, что область развивалась десятилетиями до того, как очередные прорывы в методах сделали её по-настоящему популярной — подобласти выделялись постепенно. Сейчас, когда речь идет об обучении нейросетей, чаще всего подразумевают методы глубокого обучения.
Машинное обучение — огромная самостоятельная область, но лишь часть науки о данных. В ней можно развиваться практически бесконечно — новые методы появляются каждый год. Если раньше Deep Learning был условно единой областью знаний, то сегодня входящие в него подобласти — компьютерное зрение, работа с естественным языком, обучение с подкреплением, генеративно-состязательные сети и другие методы, — выделяются в самостоятельные сферы специализации. Это направление растёт невероятно быстро, заставляя специалистов постоянно поддерживать свой уровень знаний, чтобы успевать за рынком.
Путь от нуля до первых результатов в машинном обучении занимает от шести месяцев до года. С опытом в программировании — быстрее. Область машинного обучения уже получила набор инструментов, с помощью которых можно быстро создавать рабочие модели. Проблема лишь в написании обертки вокруг модели и написании той части кода, которая отвечает за предобработку данных. Поэтому специалистам нужен опыт, а опыт нарабатывается только работой.
На курсе по Data Science в SkillFactory я отвечаю за три блока: введение в машинное обучение, предобработка данных и метрики. В первом блоке я рассказываю, что умеют делать машины, а что нет. Во втором блоке мы учимся решать проблему плохих данных или неполных данных. Третий блок учит проверять, работает ли модель машинного обучения и как её улучшить.
Полезные материалы по машинному обучению
Thecode.media — очень простая вводная статья для тех, кто не знаком с темой.
- Colab.research.google.com — подробный материал про нейросети на английском языке.
Coursera.org — курс Machine Learning от Andrew Ng на Coursera.
Книга «Создаем нейронную сеть» Тарика Рашида.
Data Engineering
Данные обладают структурой в аналитическом, информационном и даже физическом смысле — их нужно где-то хранить, поддерживать доступность и устойчивость, организовывать архитектуру. Например, Нью-Йоркская фондовая биржа ежедневно генерирует 1 терабайт данных о торгах за прошедшую сессию.
Организовать работу с данными, измеряемыми в сотнях и тысячах терабайт, непросто. Для взаимодействия с ними есть свои подходы, концепции и инструменты.
Организацией сбора, хранения и доступа к данным занимаются информационные инженеры. Аналитику данных придётся либо общаться с ними на одном языке, либо — особенно в небольших компаниях — самому выполнять функции дата инженера.
Полезные материалы
- Почитать немного о Big Data простым языком можно здесь.
- Data Science from Scratch.
- Big Data.
Data Science в продакшн
В конечном итоге все знания и инструменты нужны для того, чтобы применять их в интересах бизнеса. Здесь важны два навыка:
Умение определять, какие именно инструменты нужны для решения конкретной задачи: где внедрить машинное обучение, а где построить базу данных и внедрить SQL-запросы.
- Продуктовый взгляд на свою работу: умение общаться и налаживать контакты с коллегами, аргументировать свою точку зрения, управлять процессами в своей работе и команде.
Чтобы стать специалистом в data science, нужно освоить много навыков в самых разных областях. Это посильная задача: каждую сферу можно осваивать и углублять постепенно.
Будущим аналитикам данных нужна самоорганизация и целеустремленность, чтобы освоить такой объём знаний. Придётся ориентироваться в потоках информации, не потеряться в порядке изучения, найти самые актуальные методы и принципы, а самое главное — разобраться, почему что-то работает не так, и найти достаточное поле для практики.
Для тех, кто не боится вызовов и хочет освоить востребованную специальность, в Skillfactory разработали курс по Data Science. Он спроектирован в соответствии с запросами рынка в сотрудничестве с практиками data science из российских компаний.
Весь материал подобран и организован так, чтобы студенты постепенно осваивали необходимые навыки и отрабатывали их на большом количестве практических заданий — на тренажёрах, аналитических кейсах, создании алгоритмов машинного обучения и в соревнованиях.
Комплексная и продуманная программа дополняется сильным сообществом, в котором состоят студенты разных потоков, кураторы, менторы и наставники. Каждый из них выполняет свою роль: одни помогают с техническими и организационными вопросами, другие поясняют правильность выполнения учебных задач, третьи отвечают на вопросы о реалиях сферы data science, мотивируют продолжать учебу и развивают своих подопечных.
В рамках курсах вам будет предложено решить несколько кейсов, которые основаны на реальных задачах бизнеса. Вы сможете поработать в команде с другими студентами, прокачать навыки, полученные в курсе и получить успешных проект для вашего портфолио. Эта возможность сделает вас востребованным специалистом на рынке сразу после завершения программы.
На SkillFactory вы можете получить бесплатный двухнедельный доступ к курсу Data Science. А для тех читателей, кто захочет продолжить, есть промокод на скидку 25%: VC-25