Самообучение в Data science, с нуля до Senior за два года
Хочу поделиться методами освоения Data science с нуля человеком из другой ИТ специальности. Цель: дать понять, подходит ли Вам эта специальность в принципе, и рассказать про эффективные подходы к самообучению, которые мне помогли (отдельно планирую потом детальные статьи по отдельным темам).
Отличные материалы уже существуют по большинству конкретных тем, я сам по ним учился.
Думаю, многим будут полезны «мета» материалы о том, как выбирать курсы и статьи, по которым учиться. Например, я пересмотрел десятки статей и книг, пробовал много разных он-лайн курсов, но полезной оказалась лишь малая часть всего доступного. Надеюсь, что смогу серьезно сэкономить вам время и помочь достигнуть большего, показав более эффективный путь самообучения.
И важно сказать сразу: я верю, что любой человек с аналитическими способностями и структурным мышлением может стать специалистом по машинному обучению/data science. Еще 4 года назад я сомневался, потеряв веру в свои математические способности из-за преподавателей университета. Теперь верю: основы машинного обучения и минимально необходимую математику сможет выучить любой сильно замотивированный человек.
- Когда я понял, что скоро мне стукнет 30 лет, решил уйти в другую сферу и переехать из РФ. В своей сфере (1С) я был карьерно успешен, но стало ясно, что дальнейший рост очень затруднителен и требует выполнять работу, которая мне неинтересна и почти противна.
- Через полгода перебора вариантов решил, что Data science мне интереснее всего.
- Ещё через год имел достаточную квалификацию и прошёл собеседование на работу в Чехии (оговорка: у меня еще до этого было неплохое знание английского).
- Ещё через год стал Senior Data scientist в Vodafone (мой LinkedIn).
Цель — учиться эффективнее и бесплатно
Мне помогло то, что до этого я сформировал привычки к самообразованию, а экономность не позволила мне пойти по самому простому пути: найти онлайн курс с именитыми преподами, заплатить им много денег и довериться, что они всему научат лучше всего. В итоге я перебирал много бесплатно доступных книг и курсов (книги часто были найдены на b-ok.org). Из всех курсов и книг отбирал самые лучшие, забрасывая то, что казалось слишком теоретизированными или плохо структурированным.
На основе этих десятков книг и курсов я и сформировал то мнение, которым хочу поделить. Вероятно, существует еще более эффективный и быстрый способ научится этому всему. То, как учился я, было всего-лишь быстрее большинства платных программ, которые я видел, и заодно бесплатным (на многие лучшие англоязычные курсы всегда можно записаться бесплатно; покупал я только книги русских авторов и пару книг, которые иначе не смог найти).
Сначала надо понять, что такое Data science/машинное обучение и подойдет ли оно вам
Потому что если это просто модное слово и вы хотите получать много денег или работать в Гугл, то легче заработать на позиции маркетолога или веб-аналитика, и это тоже достаточно аналитичная работа.
Возможно, вы технарь-интроверт, желающий делать что-то своими руками и не желающий много общаться с другими людьми или вникать в бизнес (потому что DS очень прикладная штука, требующая погруженная в предметную область). Тогда есть варианты: или «просто программирование» вам будет интереснее (Не хочется разрабатывать сайты? — Нужны разработчики бэкенд приложений и дата-инженеры, в больших количествах), или если всё-таки хочется заниматься машинным обучением, то изучать все методы data science и знать их лучше всех, чтобы пойти сразу в более крупную компанию, где достаточно чисто-технических задач.
Если вы человек творческий, возможно, разработка интерфейсов (фронтенд, мобильные приложения) вам подойдёт больше.
Если вы от природы аналитик и любите разбираться в данных, но программирование вас не заинтересует, а на изучение всей математики вам не хватает времени, стоит выбрать тот же самый учебный путь! Просто сделать акцент на менее математических задачах, и не лезть в программироване сложных систем. Аналитики, знающие основы data science, тоже нужны в компаниях.
Важно, чтобы работа зажигала. Без искреннего интереса «грызть» Data science будет тяжело, потому что надо разобраться в куче нюансов, особенно если у вас нет за плечами хороших знаний в статистике, линейной алгебре и мат.анализе.
Как понять, будет ли вам интересно заниматься именно data science?
Лучший способ — прочитать что-то лёгкое, но дающее представление о широтие используемых методов.
Мне кажется, что идеально эту роль выполняет книга Datasmart (выше писал сайт, на котором я нашёл её бесплатно). На русский она тоже переведена: «Много цифр. Анализ больших данных при помощи Excel, Джон Форман». Хотя, если вы хотите работать в data science, знание английского необходимо (технический английский выучить намного легче разговорного, и это будет очень полезно для любой работы в ИТ).
Эта книга показывет многие из технических методов Data science на уровне интуиции и даёт сразу достаточно детальное представление о решаемых задачах и где в бизнесе можно применить данные модели.
Если эта книга не вызовет интерес разобраться во всех указанных алгоритмах детальнее, вероятно, работа в data science не для вас.
Если книга интересн вызовет, но вам также хочется больше программировать, скорее всего, вам интересно будет стать machine learning engineer. Разница между data scientist и machine learning engineer в том, что первый должен общаться с людьми и понимать, какую задачу имеет смысл решать, а второй должен уметь состыковать программы с «искусственным интеллектом» с другими ИТ системами, мобильными телефонами или требованиями обрабатывать огромные объемы данных.
Кстати, подобная книга для тех, кто хочет понять стоит ли ему заниматься визуализацией данных (PowerBI, Tableau и т.п.) — «Storytelling with data». Если эта книга тоже вдохновила, вместе с предыдущей, вероятно вы data scientist, способный выполнять и роль аналитика. Если же заниматься объяснением данных вам неинтересно, вам стоит нацелеваться на позицию machine learning engineer или подумать, не легче ли быть «обычным» программистом.
Что учить
Если вы решили, что готовы «грызть гранит науки», то в образовании специалиста data science есть два кита:
- Непосредственные методы Data science, которые стоят на трёх математических черепахах: теории вероятностей и статистике, линейной алгебре и основах мат.анализа (только основах, там требуется минимум сверх школьного курса «алегбра и начало анализа»). Кстати, вся эта математика далеко не так сложна. Проблема в том, что её плохо и неинтересно объясняют во многих вузах. Позже поделюсь советами, как её можно легче освоить.
- Программирование на Python (+SQL и подобные), которое позволит применить все изученные методы с помощью логичных и простых в своей сути библиотек готовых функций. Каждый data scientist немного программист. При этом именно python является стандартом де-факто для нашей сферы. Вероятно, этот язык занял своё положение благодаря тому, что он очень простой и логичный. Если вы программировали на чём угодно, и слова «цикл» или «if-then-else» вас не пугают, то вам не будет очень сложно освоить Пайтон. Если вы никогда не программировали, но считаете, что структурное и математическое мышление — ваш конёк, с программированием у вас не будет проблем. Даже если вы «конченный гуманитарий», освоить Python значительно легче, чем выучить многие иностранные языки (но, внимание! для людей без предыдущего опыта программирования обучаться ему эффективнее по-другому, не так, как для тех, кто уже имеет опыт программирования)
Даже примерный учебный план для изучения методов Data science требует отдельного поста. Ниже напишу чуть подробнее про Python и SQL
Английский необходим!
Как минимум, технический английский, на уровне чтения документации и профессиональных книг, — абсолютная необходимость. В этой сфере особенно: всё слишком быстро меняется. На русский язык все важные книги просто не будут успевать переводить, а многие критически важные библиотеки — даже и не будут пытаться. Поэтому, пока вы не способны читать упомянутые книги в оригинале, у вас вряд ли получится эффективно изучать data science. Хорошая новость: техническая терминология намного уже нормального разговорного языка и слэнга. Поэтому выучить английский на необходимом уровне не так уж и сложно. К тому же, знания языка могут пригодиться во многих других сферах, и даже в отпуске.
Принципы эффективного обучения
- Эффективный учебный план. Хороший план позволяет вам учить вещи в таком порядке, чтобы каждая новая вещь базировалась на уже полученных знаниях. И, в идеале, он идёт по спирали, постепенно углубляя знания во всех аспектах. Потому что учить теоретически математику, без интересных примеров применения — неэффективно. Именно это является одной из проблем плохого усваивания материалов в школе и институте. Учебный план — это именно та вещь, которую без опыта составить труднее всего. И именно с этим я стараюсь помочь.
- Следует концентрироваться на понимании главных принципов — это легче, чем запоминать отдельные детали (они часто оказываются не нужны). Особенно важно это становится, когда вы учите язык программирования, тем более свой первый: не стоит зубрить правильное написание команд («синтаксис») или заучивать API библиотек. Это вторая вещь, с которой я хочу помочь — разобраться, что важно, а на что не следует тратить много времени.
Программирование: что и как учить?
Что такое SQL и зачем его учить?
SQL является стандартом для получения данных в нужном виде из разных баз данных. Это тоже своеобразный язык программирования, который дополнительно к своему основному языку используют многие программисты. Большинство самых разных баз данных использует один и тот же язык с относительно небольшими вариациями.
SQL простой, потому что он «декларативный»: нужно точно описать «запрос» как должен выглядеть финальный результат, и всё! — база данных сама покажет вам данные в нужной форме. В обычных «императивных» языках программирования нужно описывать шаги, как вы хотите чтобы компьютер выполнил вашу инструкцию. C SQL намного легче, потому что достаточно только точно понять что вы хотите получить на выходе.
Сам язык программирования — это ограниченный набор команд.
Когда вы будете работать с данными — даже аналитиком, даже необязательно со знанием data science, — самой первой задачей всегда будет получить данные из базы данных. Поэтому SQL надо знать всем. Даже веб-аналитики и маркетологи зачастую его используют.
Как учить SQL:
Наберите в Гугле «sql tutorial» и начните учиться по первой же ссылке. Если она вдруг окажется платной, выберете другую. По SQL полно качественных бесплатных курсов.
На русском языке тоже полно курсов. Выбирайте бесплатные.
Главное — выбирайте курсы, в которых вы можете сразу начать прямо в браузере пробовать писать простейшие запросы к данным. Только так, тренируясь на разных примерах, действительно можно выучить SQL.
На изучение достаточно всего лишь от 10 часов (общее понимание), до 20 часов (уверенное владение большей частью всего необходимого).
Почему именно Python?
В первую очередь, зачем учить Python. Возможно, вы слышали что R (другой популярный язык программирования) тоже умеет очень многое, и это действительно так. Но Python намного универсальнее. Мало сфер и мест работы, где Python вам не сможет заменить R, но в большинстве компаний, где Data Science можно делать с помощью Python, у вас возникнут проблемы при попытке использования R. Поэтому — точно учите Python. Если вы где-то услышите другое мнение, скорее всего, оно устарело на несколько лет (в 2015г было совершенно неясно какой язык перспективнее, но сейчас это уже очевидно).
У всех других языков программирования какие-либо специализированные библиотеки для машинного обучения есть только в зачаточном состоянии.
Как учить Python
Прочитать основы и пройти все упражнения с этого сайта можно за 5-40 часов, в зависимости от вашего предыдущего опыта.
После этого варианты (все эти книги есть и на русском):
- Learning Python, by Mark Lutz (5 издание). Существует и на русском. Есть много книг, которые сразу обучают использованию языка в практических задачах, но не дают полного представления о детальных возможностях языка. Эта книга, наоборот, разбирает Python досконально. Поэтому по началу её чтение будет идти медленнее, чем аналоги. Но зато, прочтя её, вы будете способны разобраться во всём. Я прочёл её почти целиком в поездах в метро за месяц. А потом сразу был готов писать целые программы, потому что самые основы были заложены в pythontutor.ru, а эта книга детально разжевывает всё. В качестве практики берите, что угодно, когда дочитаете эту книгу до 32 главы, и решайте реальные примеры (кстати, главы 21-31 не надо стараться с первого раза запоминать детально. Просто пробежите глазами, чтобы вы понимали что вообще Python умеет). Не надо эту книгу (и никакую другую) стараться вызубрить и запомнить все детали сразу. Просто позже держите её под рукой и обращайтесь к ней при необходимости. Прочитав эту книгу, и придя на первую работу с кучей опытных коллег, я обнаружил, что некоторые вещи знаю лучше них.
- Python Crash Course, by Eric Matthes Эта книга проще написана и отсеивает те вещи, которые всё-таки реже используются. Если вы не претендуете быстрее стать высоко-классным знатоком Python — её будет достаточно.
- Automate the Boring Stuff with Python Книга хороша примерами того, что можно делать с помощью Python. Рекомендую просмотреть их все, т.к. они уже похожи на реальные задачи, с которыми приходится сталкиваться на практике, в том числе специалисту по анализу данных.
Какие трудозатраты?
Путь с нуля до уровня владения Python, на котором я что-то уже мог, занял порядка 100ч. Через 200ч я уже чувствовал себя уверенно и мог работать над проектом вместе с коллегами.
(есть бесплатные программы — трекеры времени, некоторым это помогает для самоконтроля)
Следующие статьи по данной теме
Стоит ли смотреть в сторону дата сайенс? — показывает альтернативные специализации, куда можно и, вероятно, стоит целиться, если вы планируете начать путь в дата сайенс без знаний математики и опыта в программировании.
Для желающих могу выступить в роли ментора
Если после прочтения всех моих статей у вас остались вопросы, т.к. ваша ситуация специфична — могу помочь вам индивидуально. Пишите:
self.development.mentor в домене gmail.com, Олег
Кто такой Data Scientist, чем он занимается и сколько зарабатывает

Data Scientist — это специалист, который работает с данными компании: анализирует, ищет в них зависимости и на основе этой информации делает выводы.
Data Scientist создает алгоритмы, которые решают разные бизнес-задачи и улучшают процессы: показывают пользователям интересный контент и повышают их вовлеченность, предсказывают пики и падения продаж, повышают качество производства. Например, с помощью таких алгоритмов Data Scientist может:
- Предсказывать продажи, поведение покупателей и спрос на отдельные группы товаров для того, чтобы бизнес мог скорректировать стратегию или эффективнее управлять запасами.
- Анализировать поведение посетителей на сайте, чтобы улучшать маркетинговые кампании и делать ставку на наиболее интересный потребителю контент.
- Анализировать текстовые данные, чтобы выявлять тренды в соцсетях.
- Анализировать большие данные, чтобы выявлять закономерности и на их основе делать научные прогнозы или целые открытия, как в случае с нейросетью AlphaFold , которая смогла расшифровать механизм сворачивания белка.
Аналитик данных — с нуля до трудоустройства за 9 месяцев
- Постоянная поддержка от наставника и учебного центра
- Помощь с трудоустройством
- Готовое портфолио к концу обучения
- Практика с первого урока
Вы получите именно те инструменты и навыки, которые позволят вам найти работу
Где нужен Data Scientist
Дата-сайентист может найти работу практически в любой отрасли, где генерируется подходящая для обработки и анализа информация: данные о клиентах, научных или производственных процессах, цифры, метрики, статистика.
В банках такие специалисты создают модели банковского скоринга — именно они определяют, под какой процент вам одобрить ипотеку. В промышленности с помощью анализа данных предсказывают поломки оборудования, занимаются георазведкой и следят за безопасностью. В e-commerce и ретейле повышают продажи благодаря рекомендательным системам и персональным подборкам для покупателей.
Чаще всего таких экспертов нанимают в крупные компании или стартапы. Первые — потому, что Data Science требует немалого бюджета на сбор и анализ данных. Вторые — из-за того, что Data Science является частью инновационной идеи и может стать драйвером роста компании.
Какие задачи решает Data Scientist: разбираем на примере
Допустим, дата-сайентисту нужно построить модель для сотового оператора, чтобы находить абонентов в «группе риска» — тех, кто собирается отказаться от услуг или сменить тариф.
Для этого нужно:
Собрать данные
Это значит определить, есть ли выборка данных и целевая переменная — описание признака, который будет предсказывать модель. Например, если для выборки из 100 человек точно известно, кто отказался от услуг, а кто остался с оператором — переменная есть, и можно строить эффективную модель. Если же из 100 участников кто-то ушел, кто-то остался, но кто — неизвестно, модель может давать сбой.
Сбором данных обычно занимается ML-engineer или дата-инженер. Его задача — передать data scientist релевантные, подготовленные и очищенные данные.

Так выглядит тренировочный датасет в задании Мегафона на Kaggle – в нем представлены обезличенные данные по использованию абонентами различных телеком-услуг.
Важно не только понять, какие данные есть по каждому объекту, но и оценить их надежность. Например, в каждой выборке есть ложные данные, когда человек указал о себе неверную информацию: скажем, в графе возраст написал «900 лет».
Выбрать модель и подготовить данные
На этом этапе важно обеспечить качество информации, на которой будет обучаться модель. Без этого алгоритм может выдать неправильный, ошибочный результат. Подготовить данные – значит трансформировать в удобную форму, которая называется матрицей объектов и признаков. Она и выглядит как таблица со всеми признаками — атрибутами — обучающих данных.
Оценить результат
Один из ключевых этапов — когда аналитик data science на основе опыта, интуиции и профессиональных навыков решает, насколько эффективной получилась модель. Сможет ли она работать не на обучающих, а на реальных данных — или алгоритм переобучился, то есть «вызубрил» ответы для этой выборки и будет бесполезен при анализе новой информации.
Чем Data Scientist отличается от Data Analyst и Data Engineer
В задачах, требующих анализа данных, может участвовать не только Data Scientist, но и другие специалисты. Например, выше мы упомянули Data Engineer, который собирает и готовит данные для Data Scientist.
А еще есть Data Analyst — специалист, который анализирует и визуализирует данные, чтобы помогать руководителям бизнеса принимать решения.
На первый взгляд эти профессии похожи, их часто путают. Но в действительности это разные специалисты:
Data Engineer собирает и готовит данные для аналитиков и специалистов по Data Science. Он не обучает модели, но много программирует, работает с базами данных: выгружает оттуда информацию, обрабатывает и создает для них хранилища.
Data Scientist и Data Engineer часто работают в связке: один готовит данные, другой использует их для экспериментов с моделями. А вот Data Analyst решает совсем другие задачи: он изучает статистику, ищет инсайты — выводы на основе данных — и подбирает для них визуально понятную форму. Задача дата-аналитика — найти ответ на конкретный вопрос бизнеса. Например, предсказать, какие товары будут пользоваться спросом или определить, в какие направления работы компании стоит инвестировать, а какие, напротив, сократить.

Читайте также: Гид по профессии аналитик данных: кто это, чем занимается и сколько зарабатывает
Что нужно знать и уметь, чтобы стать Data Scientist
Такому специалисту нужно хорошо знать математику: линейную алгебру, теорию вероятности, статистику, математический анализ. Придется разобраться с теорией машинного обучения, овладеть базовыми навыками программирования на Python, изучить фреймворки для машинного и глубокого обучения, а также научиться работать с языком SQL, который позволяет получать информацию из баз данных.
Это — базовые необходимые знания для начинающего специалиста. От опытного data scientist ждут умения решать сложные задачи: строить высоконагруженные модели — такие, которые смогут запускаться, скажем, сотни раз в секунду для каждого отдельного клиента. Или предотвращать неочевидные ошибки, когда модель переобучается из-за того, что в обучающую выборку попало лишнее поле.
Такие навыки получаются только с опытом, поэтому, помимо теории, в Data Science очень важна практика. И здесь у профессии есть преимущество: набивать руку можно практически с начала обучения, участвуя в открытых конкурсах по машинному обучению. Например, самое известное сообщество специалистов по Data Science — платформа Kaggle, где есть много обучающих материалов, но главное — соревнования от компаний.

Одно из самых известных соревнований Kaggle — задача на построение модели, которая определит, кто из пассажиров Титаника выживет в катастрофе.
Участие, и тем более победа в таких соревнованиях — это готовое портфолио, которое можно показать заказчику, и реальный опыт решения ML-задач.
Kaggle и другие соревнования могут стать для начинающего Data Science трамплином из джуниор в сеньор-специалиста. Практический опыт можно получить «в боевых условиях» и, доказав свою способность решать сложные задачи, претендовать на более высокую позицию.
Сколько зарабатывает Data Scientist
Уровень зарплаты зависит от опыта специалиста, региона и размера компании. Ниже – примеры вакансий для Москвы.
Junior Data Scientist может зарабатывать до 100 тысяч рублей.

Специалист со средним опытом — от 170 до 250 тысяч рублей.

Head of Data Science с опытом более 6 лет и большим стеком технологий — от 300 тысяч рублей.

Плюсы и минусы работы Data Scientist
Плюсы
Востребованная профессия
По данным Всемирного экономического форума , Data Analysts & Scientists — лидеры списка самых актуальных профессий до 2025 года.

Высокая зарплата
У разработчиков и Data Science-специалистов сопоставимые гонорары: по данным из вакансий hh.ru на май 2023, мидл Data Scientist в среднем может претендовать на ту же зарплату, что и мидл Python-разработчик.
Динамичный карьерный рост
В Data Science проще с практическим опытом: можно решать задачи на конкурсах, участвовать в Kaggle или хакатонах, собирать портфолио и быстрее расти в карьере.
Интересная работа
DataScience — одна из самых молодых и динамично развивающихся отраслей. Здесь много интересного. Например, можно автоматизировать задачи и отрасли, развивать науку, прокачиваться в глубинном обучении — области, где искусственный интеллект решает очень сложные задачи.
Минусы
Высокий порог входа
Специалисты Data Scientist должны хорошо знать математику, теорию машинного обучения. А еще — постоянно учиться, чтобы успевать за инновациями в сфере AI, которая меняется буквально на глазах.
Непонимание со стороны бизнеса
Несмотря на то, что машинное обучение находит применение практически во всех сферах, есть много областей, где построение моделей неэффективно: нет достаточного количества данных или четкой целевой переменной. В этом случае от Data Scientist могут ждать невозможного или нагружать нерелевантными задачами.
Кто такой Data Scientist и как им стать — итоги
- Data scientist создает модели машинного обучения — математические алгоритмы, которые на основе большого количества информации ищут закономерности и делают прогнозы.
- Специалисты по данным или Data Scientists работают практически во всех отраслях и сферах, чаще всего — в крупных компаниях или стартапах.
- Чтобы стать Data scientist, нужно изучить теорию: повторить или углубить знания в математике, разобраться с теорией машинного обучения.
- Получить практический опыт можно на соревнованиях и открытых конкурсах — это шанс разобраться в тонкостях профессии, получить хороший опыт и стать востребованным специалистом.
Профессия «Аналитик данных»
- Изучите востребованную в каждой компании профессию и помогайте бизнесам расти и развиваться
- Научитесь собирать, обрабатывать, изучать и интерпретировать данные с помощью SQL и Google Sheets
- Освойте когортный анализ и визуализацию данных с помощью Superset и библиотек Python
Ничего не понятно, но очень интересно: как начать карьеру в Data Science без профильного образования

Считается, что Data Science — это очень сложное направление, в котором обязательно нужны математические знания и техническое образование. Это верно только отчасти: внутри Data Science есть сайентисты, аналитики и инженеры. У них разные задачи и им нужен разный бэкграунд. О том, на кого легче выучиться гуманитарию, что нужно знать, чтобы войти в новую специальность и можно ли стать хорошим аналитиком данных без профильного опыта, рассказывает преподаватель GeekBrains, Data Analyst с уклоном в Data Engineering Никита Васильев.

В Data-Science (по крайней мере, в крупных компаниях) работают не только Data-сайентисты, но и аналитики с инженерами. Это разные профессии, для которых нужны разные знания и навыки. Например, если банку нужно определить, какой клиент вернёт кредит, а какой нет, аналитик найдёт источники данных для анализа. Он исследует их доступность, а результаты передаст инженеру. Тот обработает эти данные для сайентиста, приведёт их в нужный вид и формат. Сайентист, в свою очередь, будет решать задачи бизнеса. Получив данные от инженера, он переведёт их на математический язык и найдёт метрику для измерения проблемы. Именно этот специалист может посчитать, с какой вероятностью клиент вернёт кредит, построив модель из данных. После этого сайентист передает её обратно аналитику. Тот с помощью AB-тестов и других методов оценит эффективность модели и её статистическую значимость, а в конце проекта аналитик визуализирует полученные данные в виде графика или других наглядных материалов. Он презентует результат руководству и объяснит свои выводы.
Что нужно знать аналитикам, инженерам и сайентистам
Из этих трех профессий в Data Science углублённо разбираться в математике должен только сайентист. Data-инженеру достаточно школьной базы, но нужно знать программирование и фреймворки, уметь читать документацию. Ещё не помешает владение понятиями нормального распределения, отклонения, понимать теорию вероятности на очень базовом уровне и знать основы статистики. Иногда людям кажется, что это скучная профессия, но если вы любите читать, изучать документацию, то Data-инженер — очень интересная специальность.
Data-аналитику важнее всего софт-скиллы — разговорные навыки, умение вести документацию и процессы в Jira. Этот специалист делает вспомогательную работу в Data Science, поэтому на базовом уровне ему тоже стоит понимать теорию вероятности и статистику. Но на работе эти знания ему могут и не пригодиться. Всё зависит от специфики компании, в которую он устроится. Но точно понадобится понимание бизнеса, того, как там всё устроено, какие есть боли, задачи и проблемы.
Data Scientist действительно должен хорошо разбираться в математике: чтобы строить модели, нужно понимать, как они работают. Например, он должен знать, чем можно пренебречь, чтобы модель построилась быстрее, как её использовать и подать данные. Работать с ними, как с черным ящиком — нельзя.
Некоторые думают, что Искусственный интеллект — это отдельное направление, специальность внутри Data Science. На самом деле, это просто определенные алгоритмы, которые в него заложены. Сайентист получает модель в результате их применения. Если модель умеет предсказывать какое-то значение, расшифровывать речь, вести диалог или распознавать изображение — это и есть искусственный интеллект.
ИИ занимаются специалисты по компьютерному зрению и обработке естественного языка (Natural Language Processing). Требования к этим специалистам аналогичны тем, что предъявляются к сайентистам, но вдобавок нужны знания про направление, которым они занимаются. Тем, кто занимается компьютерным зрением важно понимать, как работают алгоритмы по распознаванию видео и картинок, владеть С++. Специалисты по NLP должны знать Python.
Как учиться на Data Science
Стать специалистом в Data Science можно с любым (даже гуманитарным) бэкграундом, было бы желание. Моя сестра — студентка, учится на социолога. Сейчас она проходит курсы по SQL и Python, хочет стать аналитиком данных. Я ей рассказываю что нужно знать, на каком уровне и зачем. Она отлично справляется.
Глубокие знания статистики или теории вероятности потребуются далеко не всем: это зависит от компании. Аналитики ищут источники, находят данные, соединяют их, а затем передают заказчику. Это львиная часть их работы. Вторая часть — умение разговаривать с коллегами. Никакая математика здесь не нужна, главное — научиться пользоваться языком запросов для БД. Достаточно понять логику и уметь правильно её описать.
Самостоятельно овладеть профессией из Data Science сложно. Нужно много работы, практики, придётся потратить массу времени. Курсы позволяют сделать это гораздо проще и быстрее, так как есть готовая программа, наставник, который отвечает на вопросы, помогает и даёт обратную связь.
Проблема самостоятельного обучения — обилие источников, часто слишком сложных или ошибочных. Обычно в профессиональной литературе публикуют информацию не для новичков, а для людей с опытом. В ней будет много терминов и слишком глубокое погружение в область. У меня так было с первым учебником: я его открыл и вообще ничего не понял. Продирался через дебри неизвестной мне терминологии — «бустинг», «линейная регрессия». Начинаешь читать — куча слов, значения которых не знаешь. В результате новички путаются, стартуют не с того, накапливают ошибочные или неправильные знания. На курсах информацию для вас структурируют и она всегда будет корректной.
Как облегчить обучение Data Science
Главная проблема для тех, кто решает учиться на Data-аналитика — незнание, с чем придется столкнуться и что с этим нужно делать. Чтобы определить, подходит ли вам Data Science, посмотрите на YouTube-ролики, авторы которых рассказывают, чем занимаются и какие навыки нужны, чтобы справляться с обязанностями. На первом этапе это поможет сложить представление о профессии. Не стесняйтесь писать авторам этих видео или расспрашивать своих знакомых, уже работающих в этой сфере.
Как бы вы не решили учиться, сами или на курсах, начиная обучение, обязательно почитайте, на какое направление идёте и какие знания вам нужны. Советую открыть вакансии на HeadHunter и прочитать требования. Составьте список навыков и по нему начинайте изучать специальность. В сети всё есть — документация, курсы по Data Science, статьи, видео.
Выбирайте литературу, с которой вам комфортно работать. Есть очень разнообразные варианты — и поверхностные, и углубленные. Легче будет тем, кто пришел из математических специальностей: у них было много статистики и теории вероятности. Есть бэкграунд, есть знания, которые нужны. Но если этих знаний нет — их не проблема быстро нагнать при желании.
Если вы заинтересованы в результате, найти время на учебу несложно. Посмотрите вебинар вместо фильма, решайте задачи, пока едете в метро. Устали — почитайте обзорные материалы. Если есть возможность, изучайте темы посложнее.
Самое трудное — не бросить. Это актуально и для курсов, и для самостоятельного обучения. Начинать учить что-то новое всегда сложно и важно соблюдать баланс. Занимаясь по 8 часов в сутки, вы перегрузите себя, испугаетесь обилия информации, быстро выгорите и бросите. Лучше обучаться планомерно: понемногу, но каждый день. Можете выделить два часа — занимайтесь два часа. Можете 15 минут — занимайтесь 15 минут. Главное — не забрасывайте и возвращайтесь к учёбе каждый день.
Ко мне на курс приходят учиться разные люди:
- Самоучки, которые хотят структурировать знания, которыми обладают, получить базу и развиваться профессионально.
- Те, кто пришли из IT, но хотят переквалифицироваться.
- Те, кто пришли из совсем другой сферы, так как хотят сменить профессию.
- Студенты технических и гуманитарных факультетов, которые хотят получить вторую специальность.
Я учу студентов строить модели на основе линейной регрессии, градиентного бустинга, дерева решений и делать на этой основе выводы. Все задачи взяты из реальных бизнес-кейсов. Например, в конце обучения ребята сдают итоговый проект. В формате соревнования нужно пройти все этапы работы с данными, построить модель и предсказать стоимость домов по датасету. Для этого задания есть лидерборд, в котором каждый студент может видеть, как он справился со своей задачей по сравнению с теми, кто проходил курс раньше. Бывает, что человек стесняется спрашивать. Если что-то непонятно, но кажется, что вопрос глупый, лучше его задать, чем упустить возможность и не усвоить материал.
Приходя на курсы, большинство студентов облегченно выдыхает. У них наконец начинает складываться представление о профессии, её методах и задачах. А практикуясь, они понимают, что работа им под силу. Есть и те, кто разочаровывается. В основном это те, кто приходит в Data Science с нуля из-за денег и не хочет вникать в детали. Когда таким людям приходится писать много кода, они разочаровываются. Но по-другому учиться не получится. Нужно трудиться, выполнять практические задания. Если готов работать, будет легко.
Я пришел в Data Science с физического факультета. Из базы у меня были знания статистики и теории вероятности, но я ничего не знал о программировании. Учился сам — смотрел курсы на Youtube, читал книги.
Без практики выучиться на профессию невозможно. Если решили обучаться своими силами, обязательно используйте тренажеры типа SoloLearn, чтобы набивать руку на кодинге. Научившись решать абстрактные задачи, вы сможете решать и реальные.
Некоторые скачивают простой датасет, строят несложную модель по шаблону и считают, что они полностью разобрались в теме. На самом деле этого мало и не хватит для работы — в Data Science можно разбираться всю жизнь и не получить даже половины знаний.
Чтобы было понятнее, вот пример задачи из моей работы. Нужно построить модель, которая измеряет эффективность сотрудника на основе данных: стажа, пола, возраста, того, как он проходит сертификации и тесты на знание продукта внутри организации. Отталкиваясь от этих данных моя команда построила модель, которая с высокой финансовой точностью предсказывала, выполнит ли сотрудник план к концу следующего месяца. Выявление таких людей позволяет на них влиять. Руководитель может прорабатывать с ними проблемы и добиться улучшения производительности. Такого рода задачи мы и решаем в Data-Science.
Зачем в Data Science программирование и Excel
Если вы уже знаете какой-то язык, будет легче. В Data Science используют Python, но у всех языков программирования есть общие паттерны. Из Python понадобится умения соединять таблицы, группировать, работать с аналитическими функциями. Также стоит изучить некоторые библиотеки. Для работы с массивами данных это NumPy, Pandas и Matplotlib для их визуализации. Ещё пригодятся TensorFlow и Keras — это готовые библиотеки с алгоритмами машинного обучения.
Частый вопрос — нужны ли для работы в Data Science глубокие познания в Excel. На самом деле, да. Хотя без Excel и можно обойтись, некоторые задачи в Python придётся делать гораздо дольше.
Например, если аналитик подготовит простой график в таблице, он потратит на это меньше времени, чем если будет писать его на Python. Единственная проблема Excel в том, что он начинает медленно считать, если в таблице больше полумиллиона строк. Пользоваться макросами в Excel сейчас не стоит: Python удобнее и быстрее.
Бывает, что процессы уже написаны на макросах, и тогда переводить их на Python — пустая трата времени. Многие компании не хотят этим заниматься, поэтому бывает, что специалистам приходится поддерживать эти технологии.
Резюмируя, Excel в Data Science знать нужно как минимум на уровне формул, графиков и сводной таблицы. Тем более, в вашей компании многие будут знакомы с Excel, но ничего не знать про Python.
Если вы аналитик, у вас много раз возникнет ситуация, когда нужно быстренько выгрузить данные в Excel и отдать коллегам, чтобы они их посмотрели.
Как устроиться на работу без «вышки»
Первое место найти тяжело. Вам может потребоваться полгода или даже год. Начинать её искать стоит сразу после учебы — обязательно такую, где будет обратная связь. В одних компаниях это код-ревью, в других — ментор. Он проверяет, какими методами джун решил задачу, правильно ли, подсказывает более лаконичное и красивое решение.
Пока ищите, есть смысл продолжать практиковаться. Это не сложно: сами для себя находите датасеты и решайте какие-то задачи. Например, можно оценить количество людей в городе возрастом от 45 до 70 лет. Затем сделать модель, которая определит долю этой возрастной группы среди покупателей хлеба или посмотреть, какие продукты они берут в магазинах чаще всего. Ставьте себе подобные задачи и решайте их всё время поисков.
Если вы хотите попасть на работу в определенную компанию, а вас туда не берут из-за отсутствия опыта, расстраиваться не стоит. Можно попробовать поработать полгода в другом месте, а затем, получив опыт, попытаться еще раз.
Открою секрет: устроиться джуном проще, чем попасть на стажировку в крупную компанию. Там настолько серьёзный отбор, что порой кандидаты по скиллам бывают выше джуниоров.
Главное на собеседовании — вести себя адекватно, не замыкаться, откликаться, если тебе пытаются помочь или подсказать. Идти на контакт, показывать свою обучаемость.
На профильное высшее образование в резюме смотрят только у новичков без опыта. Если на работу пришли устраиваться два таких кандидата, возьмут того, что с дипломом. Еще смотрят на профильные курсы, сертификаты, если уже сталкивались и есть доверие к какой-то школе.
Главное — опыт, если он есть, образование неважно. Будут задавать технические вопросы и смотреть на прошлые места работы. Можете рассказать о проектах: что делали, как решали задачи и какими методами. Этого для собеседования достаточно.
Из софтскиллов смотрят на умение общаться и работать в команде. Для Data Science это важно, чтобы правильно выстраивать рабочий процесс. Однажды я был сотрудником компании, где мы перекидывались одной фразой за весь день, в других же местах мы целый день о чем-то говорили. Важно не бояться спрашивать у коллег и наставников. Это единственный путь быстро прокачаться в профессии.
После неудачных собеседований я никогда не стеснялся задавать вопросы о том, чего мне не хватило. На всякий случай возьмите у технического специалиста, который с вами говорил, контакты, чтобы задать этот вопрос, если вам откажут. HR оставит стандартный ответ и вы не узнаете, что именно было не так. Например, устраиваясь на работу, я видел, что везде нужен SQL. Когда не справился с собеседованием, попросил поделиться материалами. В итоге мне посоветовали сайт SQL-ex и я там его осваивал.
В практике моего друга была ситуация, когда он хотел переквалифицироваться в Java-разработчика, пошел на собеседование и завалил его. Он спросил, где не дотянул; ему посоветовали книгу. Сказали, если изучишь — приходи через полгода и попробуй снова. В итоге его действительно взяли на работу в ту же компанию.
Если хотите получить большое конкурентное преимущество, есть смысл поизучать статистику и теории вероятности, чем глубже, тем лучше. Можно даже взять пару уроков у репетитора.
Не расстраивайтесь, если собеседование не удалось. Любая оценка очень субъективна. Даже если в одном месте сказали, что профессия «не ваше», в другом ваш опыт может быть ценен. Чем больше собеседований вы пройдете, тем легче они будут даваться. С какого-то момента страх уйдет совсем. Встречи с работодателями — это полезно. Они локализуют те знания и скиллы, которых вам не хватает и позволяют не останавливаться.
- data scientist
- data analyst
- machine learning
- computer vision
- nlp
- Блог компании GeekBrains
- Big Data
- Машинное обучение
- Карьера в IT-индустрии
- Data Engineering
Если бы мне пришлось снова изучать Data Science с нуля, как бы я это сделал теперь?
Пару дней назад я вдруг задумался, если бы мне пришлось заново изучать machine learning и data science, с чего бы я начал? Самое смешное, что путь, который я себе описал, кардинально отличался от того, что было на моем старте в свое время.
Конечно, мы все учимся по-разному. Некоторые предпочитают видео, другие — просто книги, а многим людям необходимо платить за курсы, чтобы чувствовать дополнительную нагрузку и давление. И это нормально, самое важное — учиться и получать удовольствие от этого.
Итак, я разработал путь, который, с моей точки зрения, является наиболее эффективным, в случае, если бы мне пришлось изучать Data Science с нуля.

Как вы видите, мой любимый способ учиться — постепенно переходить от простого к сложному. Это значит начать с практических примеров, а затем перейти к более абстрактным понятиям.
Микро-курсы Kaggle
Я знаю, что начинать с этого вам может показаться странным, и многие предпочли бы начать с самых тяжелых основ и математических видеороликов, чтобы полностью понять, что происходит за каждой моделью ML. Но, с моей точки зрения, начинание с чего-то практичного и конкретного помогает лучше рассмотреть картину в целом.
Кроме того, эти микро-курсы занимают около 4 часов каждый, так что достижение этих маленьких целей заранее добавляет дополнительный мотивационный импульс.
Микро-курсы Kaggle: Python
Если вы знакомы с Python, то можете пропустить эту часть. Здесь вы изучите основные понятия Python, которые помогут вам в освоении Data Science. В Python будет много того, что все еще будет казаться загадкой. Но по мере продвижения вы все узнаете и поймете на практике.
Микро-курсы Kaggle: Pandas
Pandas дадут нам навыки, чтобы начать манипулировать данными в Python. Я считаю, что 4-часового микро-курса и практических примеров достаточно, чтобы иметь представление о том, что можно сделать.
Микро-курсы Kaggle: визуализация данных
Визуализация данных, пожалуй, является одним из наиболее недооцененных навыков, однако она очень важна. Визуализация данных позволит вам полностью понять данные, с которыми вы будете работать.
Микро-курсы Kaggle: введение в machine learning
Здесь начинается самое интересное. Вы будете изучать основные, но очень важные концепции, чтобы начать тренировать модели машинного обучения. Концепции, которые позднее будут предельно необходимы.
Микро-курсы Kaggle: machine learning средний уровень
Это дополнение к предыдущему, но здесь вы впервые будете работать с качественными переменными и иметь дело с нулевыми полями в ваших данных.
Остановимся здесь на минутку. Должно быть ясно, что эти пять микрокурсов не будут линейным процессом, вам, вероятно, придется изучать их параллельно. Когда вы работаете в Pandas, вам, возможно, придется вернуться к курсу Python, чтобы вспомнить некоторые вещи, которые вы изучили, или перейти к документации Pandas, чтобы понять новые функции, которые вы видели в курсе «Введение в машинное обучение». И это отлично, в этом и заключается настоящее обучение.
Теперь, если вы осознаете, что эти первые 5 курсов дадут вам необходимые навыки для проведения анализа данных (EDA) и создания базовых моделей, которые позже вы сможете улучшить, то сейчас самое время начать с простых соревнований Kaggle и применить на практике то, что вы узнали.
Соревнование Kaggle Playground: Титаник
Здесь вы будете применять на практике то, что вы узнали на вводных курсах. Возможно, поначалу это будет немного пугающе, но суть не в том, чтобы быть первым в списке лидеров, а в том, чтобы учиться. В этом конкурсе вы узнаете о классификации и соответствующих метриках для таких типов проблем, как точность, отзыв и достоверность.
Соревнование Kaggle Playground: цены на жилье
В этом конкурсе вы будете применять регрессионные модели и узнавать о соответствующих метриках, таких как RMSE.
К этому моменту у вас уже есть большой практический опыт, и вы почувствуете, что можете решить множество задач, но есть вероятность, что вы не до конца понимаете, что происходит за алгоритмами классификации и регрессии, которые вы использовали. Так что именно здесь мы должны рассмотреть основы того, что мы изучаем.
Многие курсы с этого начинаются — рассмотрения основ, но, по крайней мере, я усваиваю эту информацию лучше, если до этого имел дело с практикой.
Книга: Data Science с нуля
Сейчас мы на мгновение отделимся от Pandas, scikit-learn и других библиотек Python для практического изучения того, что происходит «за» этими алгоритмами.
Эта книга довольно приятна для чтения, в ней приведены примеры Python по каждой из тем, и в ней не так много математики, которая является фундаментальной для этого этапа. Мы хотим понять принцип алгоритмов, но, с практической точки зрения, мы не хотим быть демотивированными, читая множество математических обозначений.
Здесь я приглашаю вас продолжать участвовать в более сложных соревнованиях Kaggle, участвовать в форумах и исследовать новые методы, которые вы найдете в решениях других участников.
Онлайн курс: Машинное обучение от Andrew Ng
Здесь мы встретим многое из того, что уже изучили, но мы увидим, как это объясняет один из лидеров отрасли, и его подход будет более математическим, поэтому он станет отличным способом понять наши модели еще глубже.
Стоимость: бесплатно без сертификата — $ 79 с сертификатом
Книга: элементы статистического обучения
Теперь начинается тяжелая математическая часть. Представьте, что если бы мы начали отсюда, какой нелегкий был бы путь, и мы, вероятно, давно бы сдались.
Цена: $ 60, официальная бесплатная версия на Стэнфордской странице.
Онлайн курс: Deep learning от Andrew Ng
К этому времени вы, наверное, уже сталкивались с глубоким обучением и поиграли с некоторыми моделями. Но здесь мы собираемся изучить основы того, что такое нейронные сети, как они работают, и научиться внедрять и применять различные существующие архитектуры.
Цена: $ 49 / месяц
На данном этапе, многое зависит от ваших собственных интересов, вы можете сосредоточиться на регрессии и проблемах временных рядов или, возможно, углубиться в Deep learning.