что нужно для data science
Самообучение в Data science, с нуля до Senior за два года
Хочу поделиться методами освоения Data science с нуля человеком из другой ИТ специальности. Цель: дать понять, подходит ли Вам эта специальность в принципе, и рассказать про эффективные подходы к самообучению, которые мне помогли (отдельно планирую потом детальные статьи по отдельным темам).
Отличные материалы уже существуют по большинству конкретных тем, я сам по ним учился.
Думаю, многим будут полезны «мета» материалы о том, как выбирать курсы и статьи, по которым учиться. Например, я пересмотрел десятки статей и книг, пробовал много разных он-лайн курсов, но полезной оказалась лишь малая часть всего доступного. Надеюсь, что смогу серьезно сэкономить вам время и помочь достигнуть большего, показав более эффективный путь самообучения.
И важно сказать сразу: я верю, что любой человек с аналитическими способностями и структурным мышлением может стать специалистом по машинному обучению/data science. Еще 4 года назад я сомневался, потеряв веру в свои математические способности из-за преподавателей университета. Теперь верю: основы машинного обучения и минимально необходимую математику сможет выучить любой сильно замотивированный человек.
Когда я понял, что скоро мне стукнет 30 лет, решил уйти в другую сферу и переехать из РФ. В своей сфере (1С) я был карьерно успешен, но стало ясно, что дальнейший рост очень затруднителен и требует выполнять работу, которая мне неинтересна и почти противна.
Через полгода перебора вариантов решил, что Data science мне интереснее всего.
Ещё через год имел достаточную квалификацию и прошёл собеседование на работу в Чехии (оговорка: у меня еще до этого было неплохое знание английского).
Ещё через год стал Senior Data scientist в Vodafone (мой LinkedIn).
Мне помогло то, что до этого я сформировал привычки к самообразованию, а экономность не позволила мне пойти по самому простому пути: найти онлайн курс с именитыми преподами, заплатить им много денег и довериться, что они всему научат лучше всего. В итоге я перебирал много бесплатно доступных книг и курсов (книги часто были найдены на b-ok.org). Из всех курсов и книг отбирал самые лучшие, забрасывая то, что казалось слишком теоретизированными или плохо структурированным.
На основе этих десятков книг и курсов я и сформировал то мнение, которым хочу поделить. Вероятно, существует еще более эффективный и быстрый способ научится этому всему. То, как учился я, было всего-лишь быстрее большинства платных программ, которые я видел, и заодно бесплатным (на многие лучшие англоязычные курсы всегда можно записаться бесплатно; покупал я только книги русских авторов и пару книг, которые иначе не смог найти).
Сначала надо понять, что такое Data science/машинное обучение и подойдет ли оно вам
Потому что если это просто модное слово и вы хотите получать много денег или работать в Гугл, то легче заработать на позиции маркетолога или веб-аналитика, и это тоже достаточно аналитичная работа.
Если вы человек творческий, возможно, разработка интерфейсов (фронтенд, мобильные приложения) вам подойдёт больше.
Если вы от природы аналитик и любите разбираться в данных, но программирование вас не заинтересует, а на изучение всей математики вам не хватает времени, стоит выбрать тот же самый учебный путь! Просто сделать акцент на мнее математических задачах, и не лезть в программироване сложных систем. Аналитики, знающие основы data science, тоже нужны в компаниях.
Важно, чтобы работа зажигала. Без искреннего интереса «грызть» Data science будет тяжело, потому что надо разобраться в куче нюансов, особенно если у вас нет за плечами хороших знаний в статистике, линейной алгебре и мат.анализе.
Как понять, будет ли вам интересно заниматься именно data science?
Мне кажется, что идеально эту роль выполняет книга Datasmart (выше писал сайт, на котором я нашёл её бесплатно). На русский она тоже переведена: «Много цифр. Анализ больших данных при помощи Excel, Джон Форман». Хотя, если вы хотите работать в data science, знание английского необходимо (технический английский выучить намного легче разговорного, и это будет очень полезно для любой работы в ИТ).
Эта книга показывет многие из технических методов Data science на уровне интуиции и даёт сразу достаточно детальное представление о решаемых задачах и где в бизнесе можно применить данные модели.
Если эта книга не вызовет интерес разобраться во всех указанных алгоритмах детальнее, вероятно, работа в data science не для вас.
Если книга интересн вызовет, но вам также хочется больше программировать, скорее всего, вам интересно будет стать machine learning engineer. Разница между data scientist и machine learning engineer в том, что первый должен общаться с людьми и понимать, какую задачу имеет смысл решать, а второй должен уметь состыковать программы с «искусственным интеллектом» с другими ИТ системами, мобильными телефонами или требованиями обрабатывать огромные объемы данных.
Что учить
Если вы решили, что готовы «грызть гранит науки», то в образовании специалиста data science есть два кита:
Непосредственные методы Data science, которые стоят на трёх математических черепахах: теории вероятностей и статистике, линейной алгебре и основах мат.анализа (только основах, там требуется минимум сверх школьного курса «алегбра и начало анализа»). Кстати, вся эта математика далеко не так сложна. Проблема в том, что её плохо и неинтересно объясняют во многих вузах. Позже поделюсь советами, как её можно легче освоить.
Программирование на Python (+SQL и подобные), которое позволит применить все изученные методы с помощью логичных и простых в своей сути библиотек готовых функций.
Даже примерный учебный план для изучения методов Data science требует отдельного поста. Ниже напишу чуть подробнее про Python и SQL
Английский необходим!
Принципы эффективного обучения
Программирование: что и как учить?
Что такое SQL и зачем его учить?
SQL является стандартом для получения данных в нужном виде из разных баз данных. Это тоже своеобразный язык программирования, который дополнительно к своему основному языку используют многие программисты. Большинство самых разных баз данных использует один и тот же язык с относительно небольшими вариациями.
Как учить SQL:
Наберите в Гугле «sql tutorial» и начните учиться по первой же ссылке. Если она вдруг окажется платной, выберете другую. По SQL полно качественных бесплатных курсов.
На русском языке тоже полно курсов. Выбирайте бесплатные.
На изучение достаточно всего лишь от 10 часов (общее понимание), до 20 часов (уверенное владение большей частью всего необходимого).
Почему именно Python?
У всех других языков программирования какие-либо специализированные библиотеки для машинного обучения есть только в зачаточном состоянии.
Как учить Python
Прочитать основы и пройти все упражнения с этого сайта можно за 5-40 часов, в зависимости от вашего предыдущего опыта.
После этого варианты (все эти книги есть и на русском):
Learning Python, by Mark Lutz (5 издание). Существует и на русском.
Есть много книг, которые сразу обучают использованию языка в практических задачах, но не дают полного представления о детальных возможностях языка.
Эта книга, наоборот, разбирает Python досконально. Поэтому по началу её чтение будет идти медленнее, чем аналоги. Но зато, прочтя её, вы будете способны разобраться во всём.
Я прочёл её почти целиком в поездах в метро за месяц. А потом сразу был готов писать целые программы, потому что самые основы были заложены в pythontutor.ru, а эта книга детально разжевывает всё.
В качестве практики берите, что угодно, когда дочитаете эту книгу до 32 главы, и решайте реальные примеры (кстати, главы 21-31 не надо стараться с первого раза запоминать детально. Просто пробежите глазами, чтобы вы понимали что вообще Python умеет).
Не надо эту книгу (и никакую другую) стараться вызубрить и запомнить все детали сразу. Просто позже держите её под рукой и обращайтесь к ней при необходимости.
Прочитав эту книгу, и придя на первую работу с кучей опытных коллег, я обнаружил, что некоторые вещи знаю лучше них.
Python Crash Course, by Eric Matthes
Automate the Boring Stuff with Python
Книга хороша примерами того, что можно делать с помощью Python. Рекомендую просмотреть их все, т.к. они уже похожи на реальные задачи, с которыми приходится сталкиваться на практике, в том числе специалисту по анализу данных.
Какие трудозатраты?
Путь с нуля до уровня владения Python, на котором я что-то уже мог, занял порядка 100ч. Через 200ч я уже чувствовал себя уверенно и мог работать над проектом вместе с коллегами.
Следующие статьи по данной теме
Для желающих могу выступить в роли ментора
Как стать Data Scientist в 2019 году
Data Scientist — это эксперт по аналитическим данным, который обладает техническими навыками для решения сложных задач, а также любопытством, которое помогает эти задачи ставить. Эти специалисты несут основную ответственность за преобразование данных в Результативные идеи с помощью самостоятельно созданных прогностических моделей и специального анализа в соответствии с требованиями компании.
Другими словами, быть Data Scientist — чрезвычайно важная работа в нынешнем веке данных. Настолько, что статья в Harvard Business Review даже назвала ее (и это побуждает стать одним из них!).«Самой сексуальной работой 21-го века»(и это побуждает стать одним из них!).
И также не повредит тому, что работа Data Scientist очень хорошо окупается при средней зарплате 1022 тыс. в год. Именно поэтому эта статья является полным руководством для того, чтобы стать Data Scientist в 2019 году. Это дорожная карта, которой вы можете следовать, если хотите узнать больше о Data Science.
Но все еще существует большая путаница между различиями в роли Data Analyst и Data Scientist, поэтому мы начнем с этой статьи и перейдем к другим темам, таким как требования к образованию и требования к навыкам, чтобы стать специалистом в этой области.
Разница между Data Analyst и Data Scientist
Очевидно, что и у Data Analyst, и у Data Scientist есть описание работы, связанное с данными. Но какие между ними есть различия? Это вопрос, который возникает у многих людей относительно различий между этими специальностями. Так что давайте проясним это сомнение здесь!
Data Analyst использует данные для решения различных проблем и получения полезных данных для компании. Это делается с помощью различных инструментов на четко определенных наборах данных, чтобы ответить на корпоративные вопросы, такие как «Почему маркетинговая кампания более эффективна в определенных регионах» или «Почему продажи продукта сократились в текущем квартале» и так далее. Для этого основными навыками, которыми обладает аналитик данных, являются Data Mining, R, SQL, статистический анализ, анализ данных и т. д. Фактически, многие Data Analysts получают дополнительные необходимые навыки и становятся Data Scientists.
С другой стороны, Data Scientist может разрабатывать новые процессы и алгоритмы для моделирования данных, создавать прогностические модели и выполнять пользовательский анализ данных в соответствии с требованиями компании. Таким образом, основное отличие заключается в том, что Data Scientist может использовать тяжелое кодирование для проектирования процессов моделирования данных, а не использовать уже существующие для получения ответов из данных, таких как Data Analyst. Для этого основными навыками, которыми обладает Data Scientist, являются Data Mining, R, SQL, Машинное обучение, Hadoop, Статистический анализ, Анализ данных, OOPS и т. д. Таким образом, причина, по которой ученым Data платят больше, чем аналитикам Data, заключается в их высокой уровни квалификации в сочетании с высоким спросом и низким предложением.
Требования к образованию, чтобы стать Data Scientist
Существует много путей достижения вашей цели, но имейте в виду, что большинство из этих путей проходят через колледж, поскольку четырехлетняя степень бакалавра является минимальным требованием.
Самый прямой путь заключается в том, что вы получаете степень бакалавра в области Data Science, поскольку она, несомненно, научит вас навыкам, необходимым для сбора, анализа и интерпретации больших объемов данных. Вы узнаете все о статистике, методах анализа, языках программирования и т. д.,, которые только помогут в вашей работе в качестве Data Scientist.
Другой обходной путь, который вы можете выбрать, — это получить любую техническую степень, которая поможет вам в роли Data Scientist. Некоторые из них — компьютерные науки, статистика, математика, экономика. После получения степени вы будете иметь навыки кодирования, обработки данных, количественного решения проблем. Которые можно применять в Data Science. Затем вы можете найти работу начального уровня или получить степень магистра и доктора наук для более специализированных знаний.
Требования к навыкам, чтобы стать Data Scientist
Для Data Scientist требуется несколько навыков, охватывающих различные области. Большинство из них упоминаются ниже:
1. Статистический анализ. Как специалист по обработке данных, ваша основная задача — собирать, анализировать и интерпретировать большие объемы данных и создавать полезные для компании идеи. Очевидно, что статистический анализ является большой частью описания работы.
Это означает, что вы должны быть знакомы хотя бы с основами статистического анализа, включая статистические тесты, распределения, линейную регрессию, теорию вероятностей, оценки максимального правдоподобия и т. д. И этого недостаточно! Немало важно иметь понятие о том, какие статистические методы являются подходящим подходом для данной проблемы данных, еще важнее понять, какие из них не являются. Кроме того, есть много аналитических инструментов, которые очень полезны в статистическом анализе для Data Scientist. Наиболее популярными из них являются SAS, Hadoop, Spark, Hive, Pig. Поэтому важно, чтобы вы хорошо их знали.
2. Навыки программирования. Навыки программирования являются необходимым инструментом в вашем арсенале. Это потому, что намного легче изучать и понимать данные, чтобы делать полезные выводы, если вы можете использовать определенные алгоритмы в соответствии со своими потребностями.
В общем, Python и R являются наиболее часто используемыми языками для этой цели. Python используется из-за его способности к статистическому анализу и его удобству к прочтению. Python также имеет различные пакеты для машинного обучения, визуализации данных, анализа данных и т. д. (Например, Scikit-learn), которые делают его подходящим для науки о данных. R также позволяет очень легко решить практически любую проблему в Data Science с помощью таких пакетов, как e1071, rpart и многих других.
3. Машинное обучение. Если вы каким-либо образом связаны с технологической отраслью, скорее всего, вы слышали о машинном обучении. Это в основном позволяет машинам изучать задачи из опыта, не программируя их специально. Это делается путем обучения машин с использованием различных моделей машинного обучения с использованием данных и различных алгоритмов.
Таким образом, вы должны быть знакомы с алгоритмами контролируемого и неконтролируемого обучения в машинном обучении, такими как Линейная регрессия, Логистическая регрессия, Кластеризация K-средних, Дерево решений, Ближайший сосед и прочее. К счастью, большинство алгоритмов машинного обучения могут быть реализованы с использованием R или Библиотеки Python (упомянутые выше), Поэтому вам не нужно быть экспертом по ним. В чем вы нуждаетесь, это в умении понять, какой алгоритм требуется, основываясь на типе данных, которые у вас есть, и на задаче, которую вы пытаетесь автоматизировать.
4. Управление данными и обработка данных. Данные играют большую роль в жизни Data Scientist. Таким образом, вы должны быть опытными в управлении данными, которое включает извлечение, преобразование и загрузку данных. Это означает, что вам нужно извлечь данные из различных источников, затем преобразовать их в необходимый формат для анализа и, наконец, загрузить их в хранилище данных. Для обработки этих данных существуют различные платформы, такие как Hadoop, Spark.
Теперь, когда вы завершили процесс управления данными, вы также должны быть знакомы с обработкой данных. Обработка данных — это в основном означает, что данные в хранилище должны быть очищены и унифицированы согласованным образом, прежде чем их можно будет проанализировать для получения каких-либо действенных данных.
5. Интуиция данных. Не стоит недооценивать силу интуиции данных. Фактически, это основной нетехнический навык, который отличает Data Scientist от Data Analyst. Интуиция данных в основном включает в себя поиск шаблонов в данных там, где их нет. Это почти то же самое, что найти иголку в стоге сена, которая является реальным потенциалом в огромной неисследованной куче данных.
Интуиция данных — это не тот навык, которому можно так просто научиться. Скорее это происходит из опыта и продолжающейся практики. А это, в свою очередь, делает вас гораздо более эффективным и ценным в своей роли Data Scientist.
6. Навыки общения.Вы должны хорошо владеть навыками общения, чтобы стать экспертом в области Data Scientist. Это потому, что, хоть вы и понимаете данные лучше, чем кто-либо другой, вам необходимо преобразовать полученные данные в количественную оценку, чтобы нетехническая команда смогла принять решение.
Это также может включать data storytelling! Таким образом, вы должны иметь возможность представлять свои данные в формате повествования с конкретными результатами и значениями, чтобы другие люди могли понять, что вы говорите. Это связано с тем, что в конечном итоге анализ данных становится менее важным, чем практические выводы, которые можно получить из данных, что, в свою очередь, приведет к росту бизнеса.
Ничего не понятно, но очень интересно: как начать карьеру в 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-разработчика, пошел на собеседование и завалил его. Он спросил, где не дотянул; ему посоветовали книгу. Сказали, если изучишь — приходи через полгода и попробуй снова. В итоге его действительно взяли на работу в ту же компанию.
Если хотите получить большое конкурентное преимущество, есть смысл поизучать статистику и теории вероятности, чем глубже, тем лучше. Можно даже взять пару уроков у репетитора.
Не расстраивайтесь, если собеседование не удалось. Любая оценка очень субъективна. Даже если в одном месте сказали, что профессия «не ваше», в другом ваш опыт может быть ценен. Чем больше собеседований вы пройдете, тем легче они будут даваться. С какого-то момента страх уйдет совсем. Встречи с работодателями — это полезно. Они локализуют те знания и скиллы, которых вам не хватает и позволяют не останавливаться.