Ваши вопросы о Data Science
Привет, хабр! Как и обещал в статье Ваш персональный курс по Big Data, выкладываю ответы на самые часто задаваемые вопросы, которые возникают у людей, интересующихся Data Science и Big Data. Ответы даны лучшими практиками анализа данных: победителями Kaggle, сотрудниками многих компаний, внедряющих у себя Big Data решения и всеми, кто знает, что такое Data Science не понаслышке. Стоит отметить, что с каждым днем все больше людей в России (а также в странах СНГ) интересуются анализом данных, проходит все больше соревнований, хакатонов. Однако, до сих пор вокруг этой темы существуют большое количество мифов, которые я собираюсь развеять в этом посте!
Итак, я взял около 100 самых распространенных вопросов, выделили из них наиболее обсуждаемые, и прокомментировал каждый из наиболее подробно, чтобы вопросов больше не осталось!
Как быстро начать решать задачи по машинному обучению? Конечно же, ответ на этот вопрос сильно зависит от подготовки человека, который собирается решать задачи. Но, в целом, для человека, который имеет небольшие знания в статистики, здравый смысл и математическое мышление, стоит сразу начать с hands on упражнений. Поэтому, рекомендуется быстро пройти курс Andrew Ng на Coursera.org, а также разобрать классические задачи на kaggle.com, такие как Titanic: Machine Learning from Disaster и Bag of Words Meets Bags of Popcorn, который разобраны достаточно подробно на самом сайте, а первые решения пишутся чуть ли не в Excel — поэтому порог входа будет минимальный.С чего начать изучение? Прежде всего, надо понимать, как выглядит реальная работа Data Scientist’а. Можно бесконечно долго учить машинное обучение —, но какой в этом смысл, если большая часть работы зачастую состоит в рутине? Поэтому, чтобы не тратить время зря и точно быть уверенным, что Вам это нужно, сперва следует ознакомиться, как все реально устроено в реально мире (а не на Kaggle) и к чему надо быть готовым. Для этого, в свое время была написана серия статей: Как правильно учить математику? Многие, кто начинает изучать Анализ Данных, сталкиваются с нехваткой математической мысли. Дейтвительно, для понимания всех алгоритмов, а также грамотной работы с данными просто необходимо иметь некоторую строгость в своих суждениях. Поэтому, участники сообщества MLClass сошлись во мнениях, что необходимо начать с простых курсов, которые наиболее релевантны Data Science: Конечно, это книги далеко не по всем разделам математики, но их достаточно для того, чтобы уже приступить к решению задач. Также стоит иметь ввиду, что большинство читателей хабра уже обладают минимальными знаниями в математики — поэтому, этих книг хватит навернякаЧто нужно, чтобы регулярно выигрывать на Kaggle? Один из самых часто задаваемых мне вопросов. На этот вопрос лучше всего ответил Станислав Семенов, который в настоящий момент входит в ТОП5 лучших Data Sciecntis’ов мира по версии Kaggle: Как ни странно, но всё же именно опыт сильно решает в этом деле… Чем больше будете решать различных задач по анализу данных, пробовать разные методы и техники, изучать математическую основу всего, тем проще будет с каждой новой задачей. Я бы лично порекомендовал внимательно изучать решения предыдущих задач и соревнований (например, тут и тут). Ведь наверняка какие-то схожие проблемы решали и раньше. Можно многому научиться от тех, кто уже успешно что-то реализовал.
Что еще раз подтверждает, что Data Science — это в первую очередь практическая наука, в чем-то даже похожая на спорт. Нужно регулярно практиковаться и повышать квалификацию.
Какие навыки необходимы на различных профессиональных уровнях? Стоит отметить, что ответ на этот вопрос заведомо не может быть точным и правильным, потому что все в конечном счете определяется самим характером работы (и работодателем в том числе). Тем не менее, совсем уровни можно условно определить следующим образом:1. Beginner. Как правило, надо уметь хорошо работать с данными: выполнять преодобработку, очистку, выделение фичей, приведение данных, условно говоря, к матрице «объект-признак». Надо сказать, что в основном это все черная работа, но ее делают все. Понятно, что тут важно решать простые аналитические задачи — строить сводные, тестировать гипотезы.
2. Middle. Тут уже важно знать машинное обучение. Пригодится опыт участия в соревнованиях kaggle. Важно очень хорошо знать математику, алгоритмы. Важно иметь имеено практический опыт, потому что задачи на внедрении гораздо сложнее. Также очень необходимо быть экспертом в области, в которой Вы решаете задачи — особенно, если дело касается нишевого бизнеса, такие, как телеком (знаете ли Вы, например, что такое «лакселл», «селл_айди», «маркет_кей»?)
3. Senior. Уже важно понимать работу с большими данными — как они хранятся и как обрабатываются. Быть знакомым с экосистемой Hadoop, с моделью вычислений MapReduce, а также фреймворками типа Apache Spark, Apache Storm на уровне пользователя.
4. Advanced. Тут уже приходится больше разбираться в технических деталях, а также четко понимать план решения задачи, оценивать сроки. Как правило, тут уже приходится руководить группой разработчиков. Ответственность тут большая, машинного обучения становится мало, но при этом, результат работы напрямую зависит от кол-ва заработанных компанией денег. На этой позиции спрос большой, потому что большая ответственность.
Опять же, замечу, что деление совсем условное.
Какие зарплаты в этой области? Ответ на вопрос, опять же, наверное, зависит от личных качеств человека, а также компании, в которой он работает. В целом же, если ориентироваться на средние значения, то в соответствии с предыдущим пунктом, классификация будет примерно следующей:1. Beginner — от 80 до 150 тыс. рублей2. Middle — от 100 до 200 тыс. рублей3. Senior — от 150 до 250 тыс. рублей4. Advanced — от 200 до XXX тыс. рублей
И, конечно, же, как правильно заметили в комментариях к этому вопросу «В регионах все гораздо скромнее».
Как выглядит типичный день из жизни специалиста по большим данным? Этот вопрос интересует в первую очередь тех, кто еще не работал в этой области. Тут стоит отметить, что большая часть работы представляет собой рутину, которая происходит каждый день. Однако, рутина состоит из последовательной и аккуратной работы с данными, тестирования различных гипотез, визуализации данных. Задачи машинного обучения решаются в самый последний момент. Тем не менее, большинство участников дискуссии высказали мнение, что все-таки, в целом, процесс анализа данных так или иначе подчиняется методологии CRISP-DM (CRoss Industry Standard Process for Data Mining), который кратко можно обьяснить картинкой, говорящий саму за себя: В целом, конечно же, существуют отклонения от этого процесса. Но, почти каждый, кто занимается анализом данных, так или иначе «сидит» на одном из приведенных на рисунке этапов.
Итак, это были самые распространенные вопросы об анализе данных, которыми люди задаются в последнее время. Я очень рад, что интерес к Big Data и Data Science в целом растет с каждым днем и все больше людей получают образование и навыки в этой области. Я буду и дальше нести на себе обязательство всячески этому содействовать!
В заключение хочется пожелать успехов всем, кто только еще на начале этого пути!