дата сайнтист с чего начать
Data Science с нуля: подробный гайд для начинающих
Авторизуйтесь
Data Science с нуля: подробный гайд для начинающих
Можно ли погрузиться в мир данных, самостоятельно освоив Data Science с нуля? Спойлер: да. В этом материале мы вместе с Факультетом Искусственного интеллекта GeekUniversity расскажем о навыках и дисциплинах, которые необходимо освоить на пути к карьере Data Scientist.
Искусственный интеллект фокусируется на создании технологий, которые действуют и реагируют, как человеческий разум. В большинстве областей ИИ всё ещё не может полностью заменить человека.
Машинное обучение — техника, позволяющая смоделировать определённое поведение, основываясь на данных (например обучение нейронной сети, чтобы та могла отличать кошек от собак по фотографиям).
Глубокое обучение нейронных сетей — это создание многослойных нейронных сетей в областях, где требуется более продвинутый анализ, и традиционное машинное обучение с ним не справляется.
Наука о данных — сбор, визуализация и обработка данных, а также принятие решений на их основе.
Чем занимается Data Scientist?
В Data Science обучении стоит отталкиваться от задач, поставленных перед специалистом. При этом задачи Data Scientist могут отличаться в зависимости от сферы деятельности компании. Вот несколько примеров:
Но для любой из вышеперечисленных задач всегда нужно выполнять примерно одни и те же шаги:
Что нужно знать?
Несмотря на то, что знать нужно довольно много, сейчас есть огромное число онлайн-курсов и книг, которые помогут получить нужные навыки гораздо быстрее.
Статистика, математика, линейная алгебра
Вам понадобится изучить фундаментальный курс по теории вероятностей, математический анализ, линейную алгебру и математическую статистику. Математические знания важны, чтобы уметь анализировать результаты применения алгоритмов обработки данных.
Книги по теме:
Машинное обучение
Машинное обучение позволяет научить компьютеры самостоятельно принимать решения, чтобы автоматизировать выполнение определённых задач. По этой причине МО применяется во многих областях, среди которых есть и наука о данных.
Чтобы освоить Data Science с нуля, первым делом нужно изучить три основных раздела машинного обучения:
Книги по теме
Что нужно уметь?
Программировать на Python
Большим преимуществом будет знание основ программирования. Но это довольно обширная и сложная область, и чтобы немного упростить её изучение, можно сосредоточиться на одном языке. Python идеально подходит начинающим — у него относительно простой синтаксис, он многофункциональный и часто используется для обработки данных.
Книги по теме:
После того, как вы изучите основы Python, можете ознакомиться с библиотеками для Дата Сайнс.
Машинное обучение и глубокое обучение:
Обработка естественного языка:
Собирать данные
Data Mining — важный аналитический процесс, предназначенный для исследования данных. Он позволяет находить скрытые паттерны, чтобы получить ранее неизвестную полезную информацию, необходимую для принятия каких-либо решений. Сюда же входит визуализация данных — представление информации в понятном графическом виде.
Книги по теме:
Хорошая стратегия — получить базу по Data Science в онлайн-университете, а потом решать более сложные практические задачи на стажировке в компании.
Что дальше?
После того, как вы изучите основы и пройдёте всевозможные Data Science курсы, попробуйте свои силы в открытых проектах или соревнованиях, а затем начинайте искать работу.
Как вы уже поняли, изучение Data Science с нуля — это не только теория. Для практического опыта хорошо подойдёт Kaggle — веб-сайт, где постоянно проводятся соревнования по анализу данных, в которых принимают участие все желающие. Также есть много открытых наборов данных — можете анализировать их и публиковать свои результаты. Также изучайте на Kaggle работы других участников и учитесь на чужом опыте.
Чтобы подтвердить свою квалификацию, зарабатывайте баллы за участие в соревнованиях Kaggle и публикуйте свои проекты на GitHub. Главное — не прекращать обучение и получать удовольствие от того, что вы делаете.
Как самостоятельно выучиться на дата-саентиста — адаптированная подборка
Меня зовут Айра, я веду блог про математику, продукты и ML, делаю проекты в DS/ML, а также курсы по созданию ML-проектов. От своей аудитории блога и знакомых часто получаю вопросы в духе «Cтоит ли тратить деньги на тот или иной дорогой курс с codename «Стань DS за два месяца» или все же выучиться на дата-саентиста самостоятельно и бесплатно, и в таком случае, с чего начать?»
Недавно собрала ответ на этот вопрос достаточно развернуто, на мой взгляд, чтобы поделиться им с широкой аудиторией. Не все платные курсы плохие (хотя большинство — да — из-за механизмов отбора, продаж и слабой программы), но о них напишу отдельно. Мне кажется, нужно учитывать больше персонализированных параметров для того, чтобы грамотно выбирать хороший курс за деньги.
Во-первых, в список вошли бесплатные онлайн-курсы и ресурсы для самостоятельного обучения, которые проходила сама или советует профессиональное сообщество аналитиков и дата-саентистов (часто упоминающиеся в ODS.ai), где не нужно проходить какой-то отбор или быть ограниченным офлайн-посещением.
Во-вторых, конечно, это далеко не полный список онлайн-курсов, который вы можете встретить, зато в него попали лучшие курсы от сильных математических и Computer Science-школ мир и другие распространенные ресурсы среди профи из того, что я смогла отфильтровать на свой вкус.
В-третьих, начну с короткого списка, с которого, как мне кажется, стоит начинать обучение предмету, и он идет сразу же следующим абзацем.
С чего советую начать, чтобы тратить время эффективно?
Предполагая, что начинающий дата-саентист уже прошел подготовительные курсы а-ля гарвардский CS50 по основам программирования, pythontutor.ru или курс на Stepik от Института Биоинформатики, посоветую несколько шагов, которые должны стать твердой базой. Далее ссылки все полные, чтобы было легче копировать:
Зарегистрироваться в самом популярном в СНГ профессиональном slack-сообществе Open Data Science ODS.ai, вступить в как можно больше чатов, в том числе про менторство, обучение и карьеру и общаться с местными, чтобы расширить свой кругозор относительно работодателей, требований к прохождению интервью, к позиции и их различиях в разных компаниях и др, найти хороших наставников, тк. такие в сообществе есть!
Пройти вводный курс «Математика и Python для анализа данных» на Coursera — платный, недорогой и хороший. www.coursera.org/learn/mathematics-and-python
По программированию — пройти в leetcode.com все релевантные упражнения: это бесплатные или недорогие в премиальной версии в соотношении цена/качество тренажеры (в нем есть в том числе упражнения на интервью в FAANG).
Пройти mlcourse.ai — это открытый курс машинного обучения от ODS. Авторы смогли разработать курс машинного обучения с балансом между теорией и практикой, когда в лекции вы разбираете достаточно подробно математику, а затем упражняетесь сначала в блокноте, затем на Kaggle.
Для обучения решению разнообразных задач и оптимизации кода — участвовать в соревнованиях по анализу данных и машинному обучению на платформе kaggle.com.
Математика для DS/ML
Приятный курс Стэнфорда по DS «Introduction to Statistics» www.coursera.org/learn/stanford-statistics
Коротенький интерактивный курс по теории вероятностей и математической статистике «Seeing Theory» seeing-theory.brown.edu/
Хороший вводный курс по математике для анализа данных, более объёмный «Специализация Математика для анализа данных:. Можно послушать только интересную тему: дискретная математика / линейная алгебра / математический анализ / теория вероятностей. www.coursera.org/specializations/maths-for-data-analysis
Довольно подробная и читаемая книга по теорверу и матстату «Dekking, A Modern Introduction to Probability and Statistics» cis.temple.edu/
Python&SQL для DS/ML
Упомянутый выше бесплатный тренажер по Python с нуля: pythontutor.ru/
Отличный курс по инструментам по DS от IBM «Специализация Data Science Fundamentals with Python and SQL» www.coursera.org/specializations/data-science-fundamentals-python-sql
Упомянутый выше русский курс по питону и математике (платный, недорогой и хороший) «Математика и Python для анализа данных (Coursera)» www.coursera.org/learn/mathematics-and-python
Упомянутый выше https://leetcode.com/: пройти все релевантные упражнения, это бесплатные или недорогие в премиальной версии в соотношении цена/качество тренажеры (в нем есть в том числе упражнения на интервью в FAANG).
Начальные курсы по ML
Как бы этот курс не ругали из-за устаревшего языка программирования Octave (на котором пишут на Matlab), на мой вкус — это пока что самый простой и понятный курс по ML. Машинное обучение (Coursera) https://www.coursera.org/learn/machine-learning — стэнфордский курс по машинному обучению от Andrew Ng
mlcourse.ai — это открытый курс машинного обучения от ODS. Авторы смогли разработать курс машинного обучения с балансом между теорией и практикой, когда в лекции вы разбираете достаточно подробно математику, а затем упражняетесь сначала в блокноте, затем на Kaggle.
Более продвинутые курсы по ML
Если хочется погрузиться в математические доказательства методов машинного обучения, то есть прекрасные ШАДовские лекции К.В. Воронцова: плейлист «Курс «Машинное обучение» 2019” на YouTube-канале “Компьютерные науки», www.youtube.com/watc? v=SZkrxWhI5qM&list=PLJOzdkh8T5krxc4HsHbB8g8f0hu7973fK&index=2
Также хорош ежегодный гарвардский курс «Advanced Topics in Data Science CS109B». harvard-iacs.github.io/2020-CS109B/
Или курс по углубленным алгоритмам Advanced ML от ВШЭ: «Специализация Продвинутое машинное обучение» www.coursera.org/specializations/aml
Deep learning
(Мне кажется, можно пройти один курс из списка, а остальные смотреть на предмет дополнений)
Рекомендованный Стэнфордовский курс по DL «CS231n: Convolutional Neural Networks for Visual Recognition» cs231n.github.io/
Хороший курс от Университета Карнеги—Меллон «11-785 Introduction to Deep Learning» deeplearning.cs.cmu.edu/F21/index.html
Курс от MIT: «Practical Deep Learning for Coders» https://course.fast.ai/
ШАДовский курс по глубокому обучению доступен в github: «Practical_DL» github.com/yandexdataschool/Practical_DL
Бесплатные классные курсы от МФТИ: dlschool.org/
Также есть курс по DL у ODS.ai, который тоже советуют проходить в самом сообществе: «Deep Learning на пальцах» dlcourse.ai/
А еще есть курс у Samsung AI Research Center на Stepik.org stepik.org/course/50352/info
Natural Language Processing
Стэнфордовский «CS224n: Natural Language Processing with Deep Learning » web.stanford.edu/class/cs224n/
Второй курс у Samsung AI Research Center на Stepik.org https://stepik.org/course/54098/promo
Reinforcement Learning & Self-driving cars
От Deepmind «RL Course by David Silver» www.youtube.com/watc? v=2pWv7GOvuf0
Австралийский курс StarAi «Deep Reinforcement Learning Course » www.starai.io/course/
Data Engineering & MLOps
Бесплатный курс по DE от Дмитрия Аношина, дата-инженера из Microsoft, ex-Amazon: Getting start with Data Engineering and Analytics https://datalearn.ru/ (курс готовится in progress)
Соревнования
Ну, и для обучения решению разнообразных задач и оптимизации кода — участвуйте в Kaggle. https://kaggle.com/
Кроме Kaggle, есть еще несколько соревнований:
Изучение data science c нуля: этапы и вехи
В соответствии с концепцией спирального подхода к обучению, о которой писал ранее, привожу поэтапный план освоения data science. План составлен так, чтобы каждый этап делал учащегося в той или иной степени лучше подготовленным к выполнению реальных задач. Такой подход вдохновлен идеологией Agile в том смысле, что сколько бы времени вы ни уделили обучению и в какой бы момент ни остановились, у вас будет наиболее востребованный набор знаний из возможных к освоению за такое время.
Объяснить данную логику также можно от обратного: опасно сразу учить нейронные сети, т.к. не востребован человек знающих о них что-то, но не умеющий эффективно применять на практике. И, например, можно за 300 ч получить какой-то набор знаний, который не делает вас достаточно хорошим специалистом для решения каких-либо реальных задач, и не позволит найти даже начальную работу чтобы продолжить развивать эти навыки.
Позднее, в отдельной статье напишу хорошие курсы и книги, соответствующие каждому этапу (некоторые курсы и книги для первых этапов уже указал ранее в первой статье этой серии).
Этап 1. Базовые инструменты анализа данных: SQL, Excel
SQL, основы (20ч). Самостоятельное знание SQL может пригодится для выполнения кучи других задачи. И оно, в любом случае, необходимо для большой (большей?) части вакансий на позицию аналитика, дата сайентиста и, тем более, machine learning engineer.
Основы Excel (10ч): фильтры и сортировка данных, формулы, vlookup, pivot tables, базовая работа с графиками. Коллеги, партнеры или руководство будут присылать входящие данные в excel, и вам нужно будет уметь их быстро понять и изучить. Нередко и результаты анализа сделанного на Питоне удобнее подготовить и предоставить в Excel.
Базовый английский (20-200ч, зависит от предыдущего уровня), на уровне самостоятельного чтения технической документации и спец.литературы. Например, вам совершенно необходимо уметь читать официальную документацию pandas/scikit, и также многие хорошие материалы по Python доступны только на английском.
Этап 2. Основы Python и Pandas
Основы Python (80ч). Без знания Питона невозможно использовать львиную часть инструментов машинного обучения. Другие языки менее эффективны в этой сфере и непопулярны.
Также научиться основам работы с разными API и парсингом данных (requests, beatiful soup)
На этом этапе дополнительные знания Python позволяют вытаскивать данные из разных API, или путем веб-парсинга.
Возможно, на работе в позиции аналитика от вас не будут ожидать знаний Питона. Но вы можете сами найти где его применить, автоматизировать что-либо, и получить большой плюс в глазах работодателя (помимо ценного опыта для себя). Шансы на трудоустройство на этом этапе не вырастут, но может вырасти зарплата, если эффективно это будете применять.
Этап 3. Базовые понятия и классические алгоритмы машинного обучения
(Этот этап может занять 200-400 ч в зависимости от того, насколько хорошо изначально вы владеете математикой)
Базовые понятия машинного обучения:
Экстраполяции (понимание возможности в контексте разных алгоритмов)
Базовые алгоритмы, которые достаточно знать на уровне главных принципов:
Прогнозирование и классификация:
Работа с временными рядами: экспоненциальное сглаживание
Понижение размерности: PCA
Базовые приёмы подготовки данных: dummy переменные, one-hot encoding, tf-idf
умение считать вероятности: основы комбинаторики, вероятности независимых событий и условные вероятности (формула Байеса).
Понимать смысл фразы: «correlation does not imply causation», чтобы верно трактовать результаты моделей.
Мат.методы, необходимые для полного понимания, как работают ключевые модели машинного обучения: Градиентный спуск. Максимальное правдоподобие (max likelihood), понимание зачем на практике используются логарифмы (log-likelihood). Понимание как строиться целевая функция логистической регрессии (зачем log в log-odds), понимание сути логистической функции (часто называемой «сигмоид»). С одной стороны, нет жесткой необходимости всё это понять на данном этапе, т.к все алгоритмы можно использовать как черные ящики, зная только основные принципы. Но понимание математики поможет глубже понять разные модели и придать уверенности в их использовании. Позднее, для уровня senior, эти знания являются уже обязательным:
Без практических навыков знания данного этапа мало повышают ваши шансы на трудоустройство. Но значительно облегчают общение с другими дата-сайентистами и открывают путь для понимания многих дальнейших источников (книг/курсов) и позволяют начать практиковаться в их использовании.
Этап 4. Набор базовых навыков решения задач
По сути, это практика по теоретическим знания предыдущего этапа. Имеет смысл отвести на это 100-300ч. И важнее уметь хотя бы как-то применять все указанные выше методы, чем дотошно разобраться в одном из них.
Тут же следует инвестировать время в изучение разных приёмов и трюков feature engineering
По завершению данного этапа есть шанс устроиться на позицию junior data scientist. ЗП будет низкая. Но главное будет продолжать учиться. До достижения уровня senior возможность учиться у коллег ценнее, чем текущая зарплата.
Знакомство с основами нейронных сетей
На данном этапе может быть полезно знание основ нейронных сетей, CNN, RNN/LSTM слоев, vector embeddings. Но не обязательно уметь тренировать их самому, на данном этапе. Пока это важно для «общего развития» и чтобы вы не хотели применять нейронные сети там, где без можно обойтись, и, наоборот, понимали где они могут быть полезны и когда имеет смысл или обращаться к коллеге уже их знающему, или браться за глубокое изучение и практику.
Также данный этап должен позволить примерно оченить сколько ресурсов от вас это потребует, если вы решите в это нырнуть.
Рекомендую ограничить это объемом в 20-40ч, необходимым только для общего понимания концепций.
Этап 5. Дополнительные технические навыки, необходимые в работе
Данные этап может занять 60-200ч, в зависимости от степени перфекционизма. Оптимальным кажется изучить всё на столько, чтобы понимать ключевые принципы и команды, но не обязательно тренироваться на большом количестве учебных примерах, т.к. если удастся устроиться на работу, то получение практики и оттачивание навыков можно делать уже в процессе работы
Conda, понимание проблем зависимостей версий библиотек, и как conda это может решить
Python standard library, если не освоили ранее (необходимый минимум itertools, collections, contextlib), умение эффективно разбивать код на функции и модули, классы; умение применять context managers.
Основы git, также очень полезно умение работать с IDE: pycharm/vs code. Их использование облегчит работу с git, заменив графическим интерфейсом работу с командной строкой
Библиотеки визуализации (matplotlib+seaborn, plotnine, plotly), если не освоили их раньше.
С таким багажом знаний наверняка можно найти позицию джуниор дата сайентиста (может называться по-другому, но суть та же).
В принципе, на этом уровне знаний можно работать годами, практикуясь в применении разных из уже изученных моделей, библиотек и инструментов, осваивая вспомогательные методы (feature engineering), нюансы, и способы решения похожих же задач, с помощью разных библиотек (xgboost, cat-boost). Постепенно будет уровень рост ЗП. Но это не уровень Senior специалиста.
Изучаем по необходимости, этапы 2-5
Визуализация данных
В какой-то момент времени вам потребуется уметь визуализировать данные, с которыми вы работаете. Имеет смысл активно это изучать тогда, когда вы будуте готовы сразу примененять эти знаний на практике, потому что иначе они не запоминаются. В Питоне существует несколько библиотек (привожу рекомендуемый порядок изучения):
matplotlib – на нём базируется следующие два варианта, и потенциально он может всё. Но тяжел и неэффективен для прямого использования, кроме построения уродливых графиков, для себя и коллег-технарей. Можно специально не учиться его применять, а понять только самые основы, которые будут «проступать» из-за других библиотек.
До начала применения в реальной практике, на обучение можно себя ограничить в 10-20ч на одну библиотеку.
Средства работы с данными
Можно учить на разных этапах, в зависимости от задач, с которыми столкнётесь
Основы regular expressions, aka RegExp (10ч). Знания regexp необходимо для продвинутой фильтрации данных в разных инструментах для работы с данными.
Внутри Spark устроен сильно не так, как обычные базы данных, но с точки зрения использования он оказывается сильно похожим, т.к. поддерживает почти стандартный SQL синтаксис или, как альтернативу, API отдалённо похожий на pandas. Определенные концептуальные отличия присутствуют, но больших сложностей в освоении это не вызывает. В последнее время продвигают библиотеку Koalas, которая будет использовать команды совсем как у pandas для работы с spark-кластером, но пока не советую делать это основным подходом по работе с Spark.
Этап 6
Углубление и развитие технических навыков
Если предыдущие этапы давали вам навыки, без которых работать ну вообще нельзя, то навыки этого этапа призваны повысить вашу продуктивность или повысить качество решаемых задач, повысить самостоятельность при запуске разработанных моделей машинного обучения в продакшн.
Уверенное пользование bash, понимание основ linux
Полезно изучить основы docker
Все эти вещи можно было бы учить и раньше. Но, как правило, раньше их знать просто не нужно. Т.к. вы больше будете страдать от нехватки других навыков, приведенных в предыдущих этапах.
Другие области машинного обучения
В какой-то момент вам может потребоваться выйти из сферы подготовки прогнозных моделей или изучения и объяснения данных (кластеризация, EDA и визуализация). Это может быть связано как с вашими интересами, так и с проектами на работе. Например, это могут быть рекомендательные системы. Наверное, базовые рекомендательные алгоритмы можно изучать и одновременно с основами машинного обучения, т.к. знание одного не является обязательным для знания другого. Но логичнее переходить к ним, когда вы уже разобрались с основными алгоритмами обучения прогнозирования и кластеризации: скорее всего, этого от вас будут ожидать любые коллеги до тех пор, как вы включитесь в работу над рекомендательными системами.
Нейронные сети
Начиная с этого этапа имеет смысл изучать нейронные сети как следует с тем, чтобы применять их на пратике. Неэффективно изучать их раньше, т.к. многие задачи эффективно можно решить другими методами. И пока ваши данные и прогнозы изначально числовые, обычно «классическими» методами их решать эффективнее.
Подробнее в этапы изучениях нейронных сетей вдаваться не стану: эта тема требует отдельной статьи. И потратить на них можно от 50, чтобы решать самые простейшие задачи, до сотен часов, чтобы решать задачи связанные с обработкой неструктурированных данных или с обучением сложных моделей.
Другие статьи
Готов выступить ментором в самообучении
self.development.mentor в домене gmail.com, Олег
👨🎓️📊 Как научиться Data Science онлайн: 12 шагов от новичка до профи
Leo Matyushkin
1. Определитесь, кем вы хотите стать 💭
К. В. Воронцов в интервью Юрию Кашницкому и Алексею Натекину (полная текстовая расшифровка в нашей статье «Мнения экспертов индустрии Data Science о развитии отрасли»)
В приведённой ниже записи доклада создатель сообщества Open Data Science (о сообществе мы расскажем ниже) Алексей Натекин показывает, чем отличаются Data Analyst, Data Engineer и Data Scientist.
2. Подтяните математическую базу ➕
На Stepik есть подходящие бесплатные видеокурсы по каждой из областей с тестированием знаний:
Занимаясь по видеолекциям, не забывайте о возможности ускоренной перемотки. Чтобы задействовать моторную память и глубже проработать материал, ведите конспект.
3. Учитесь программировать 👨💻️
Кроме математики, нужно уметь программировать. Обычно в качестве основного языка аналитики данных выбирают Python или R. На Stepik есть хорошие курсы по обоим языкам, в том числе с упором на анализ данных:
Совмещая наиболее мощные и стабильные библиотеки R и Python в некоторых случаях можно повысить эффективность расчётов или избежать изобретения велосипедов для реализации каких-либо статистических моделей.
Во вторую очередь, это повышение скорости и удобства выполнения проектов, в случае если разные люди в вашей команде (или вы сами) обладают хорошими знаниями разных языков. Здесь может помочь разумная комбинация имеющихся навыков программирования на R и Python.
4. Учитесь пользоваться инструментами 🛠️
Одним из самых популярных инструментов для обмена результатами анализа данных стали блокноты Jupyter:
Немногие курсы заостряют на этом внимание, но на практике данные обычно хранятся в базах данных – SQL или NoSQL. Для дальнейшей работы потребуется научится с ними общаться:
5. Пройдите столько курсов Data Science, сколько сможете 🎓
В качестве дополнения к курсам на MOOC-платформах можно смотреть YouTube-курсы, приведённые нами в статье 30 YouTube-каналов и плейлистов о Data Science :
Не волнуйтесь, если вы проходите курсы быстрее (или медлее), чем это предполагали авторы. Интервал времени, необходимый для прохождения курса – вещь субъективная, тем более, что часть знаний в курсах пересекается.
Учебники на русском:
Учебники на английском:
6. Присоединитесь к сообществу Open Data Science 👥
Много интересного можно почерпнуть из англоязычных агрегаторов новостей из мира науки о данных:
Чтобы следить за мероприятиями в мире данных, заглядывайте время от времени на нашу страницу мероприятий или подпишитесь в телеграм-боте @event_listener_bot на тег Data Science.
7. Участвуйте в соревнованиях (не только Kaggle) 🤼
Мнения экспертов о Kaggle:
До появления таких массовых соревнований методы ранжировались по типам задач, и создавалось много различных мифов, развенчанных в результате верификации на таких конкурсах, а другие методы становились популярны. Так был разрекламирован бустинг и глубокое обучение.
Александр Дьяконов в интервью Юрию Кашницкому и Алексею Натекину
Главный плюс Kaggle – есть механизм, где можно давать задачи на конкурс. Минус в том, что часто задача выхолащивается, придумывается искусственный функционал. Либо выборка не очень соответствует реальным данным и условиям применения.
С помощью Kaggle мы узнаём, кто лучший решатель задач и где есть центры компетенции. Но мы можем с грустью узнать, что все победители в лидер борде применяли что-то настолько замороченное, что мы не сможем строить на этом бизнес-процесс. При этом может существовать на два порядка более простое решение, дающее на полпроцента худший результат, но решающее бизнес-задачу.
Я смотрю на конкурсы анализа данных, как на новый механизм тендеров в том, что можно назвать цифровой экономикой. Это экономический механизм для того, чтобы понимать насколько эффективно та или иная задача сейчас может быть решена и найти быстро того, кто может решить эту задачу. Эффективность несопоставима с любыми открытыми или закрытыми тендерами, независимо от степени бюрократии.
Плюс конкурсов – это способ популяризации тех или иных задач в сообществе. Конкурсы анализа данных в ближайшие годы возьмут на себя социально значимую миссию – объяснить обществу, где нужен Data Science. Это может стать точкой входа в любую отрасль науки/ Чтобы, например, сделать эксперимент в области физики, нужно обучиться этой профессии, иметь доступ к экспериментальному оборудованию.
Выкладываются данные с Большого адронного коллайдера, и вы можете попытаться обработать их на своём рабочем компьютере. У вас нет физической установки, но есть данные с неё. То же самое с данными из биоинформатики, молекулярной биологии, геологии. Вы поймёте как добывают нефть, как залегают полезные ископаемые, станет понятно многое про астрономию, социологию. Мы сократили путь людям к познанию мира, дали возможность погрузиться в современную науку через анализ данных, открытые датасеты и конкурсы.
Константин Воронцов в интервью Юрию Кашницкому и Алексею Натекину
8. Изучите специальные вопросы Data Science 👁️🗨️
Наука о данных – невероятно обширная междисциплинарная область, и для решения конкретных задач потребуются специальные навыки. После знакомства с Kaggle вам станет понятнее, в каких востребованных знаниях у вас есть пробелы.
Обратите внимание на следующие курсы Stepik:
Также пригодятся YouTube-каналы:
Не переставайте учиться. Просмотрите топ и сайдбар сабреддитов по темам, смежным машинному обучению:
9. По итогам каждого курса делайте проект 🏗️
Можно отталкиваться не от проекта, а интересного датасета. Список популярных реестров:
Множество обсуждений с идеями проектов можной найти на Quora:
Для каждого проекта создавайте публичный репозиторий на GitHub. Доводите результат до ума, делитесь ими в своём блоге и сообществе. Вносите вклад в сторонние проекты, публикуйте свои идеи и мысли. Всё это поможет составить портфолио и познакомиться с людьми, работающими над родственными задачами.
10. Читайте научные статьи🔬
Главные языки науки о данных это не Python или R, а английский язык и язык математики. Хотя появляется всё больше курсов на русском языке, самая актуальная информация — в последних международных статьях.
К академическому языку нелегко привыкнуть. Чтобы эффективно работать с научными публикациями, прочитайте наш материал «Как правильно искать и читать научные статьи?»
Препринты статей публикуются на сайте arXiv. Самые полезные для дата-сайентистов разделы:
11. Устройтесь на стажировку/работу по Data Science🕴
Data Science – востребованная профессия с высокой конкуренцией. Но даже результаты собеседований участники сообщества превращают в данные. Существует множество списков вопросов для подготовки к интервью на позицию data scientist’а:
В этом году с этим труднее, но надеемся, что скоро вернутся летние школы и стажировки:
Обязательно воспользуйтесь своими навыками в майнинге данных для анализа рынка труда – проанализируйте, какие навыки встречаются в вакансиях чаще, чтобы их максимально отточить. Оцените, какой доход можно ожидать с учётом трат на месте, аренды жилья и переезда в другой город.
В следующем видео Валерий Бабушкин интересно рассказывает о карьере в Data Science и типичных ошибках на собеседованиях.
Как готовиться к собеседованиям? Каких навыков и знаний не хватает специалистам, приходящим на работу в индустрии Data Science?
Александр Дьяконов в интервью Юрию Кашницкому и Алексею Натекину
12. Поделитесь опытом с сообществом 📢
Расскажите о своем проекте или находке с сообществом Data Science. Подготовьте доклад и выступите на локальном митапе – ближайшие можно найти среди каналов через поиск в Slack ODS. Заведите блог, в котором вы будете делиться находками, собственными идеями и репозиториями. Опубликуйте статью на Proglib. Мы помогаем нашим читателям распространить интересные идеи и полезные знания.
И последнее, но не менее важное – успевайте насладиться тем, как ваши навыки помогают делать мир лучше!