Годовой план изучения науки о данных

2020-ый наконец-то закончился, а значит уже можно начать планировать 2021-ый. Для начала зададим себе вопрос: чему мы хотим научиться в этом году?

Многие выбирают в качестве ответа науку о данных. Но это сразу же рождает новые вопросы, связанные, например, с количеством существующих на рынке вакансий, технологиями в этой сфере и выбором подходящего формата обучения среди множества вариантов.

Поскольку путей и способов обучения существует великое множество, мы сконцентрируемся на общей картине, составив учебный план. Весь год мы разделим на четверти:

  • Первая четверть: основы.
  • Вторая четверть: повышение уровня.
  • Третья четверть: создание проекта.
  • Четвертая четверть: поиск.

Первая четверть: основы

Язык программирования

Основной язык программирования, с которым работают в науке о данных,  —  Python. Этот язык указан в требованиях 80% вакансий, связанных с этой областью. К тому же, Python довольно универсален, поэтому он используется и в других областях, например, в веб-разработке. Знание этого языка точно не будет лишним!

Статистика и математика

Сразу оговоримся, что в сообществе науки о данных до сих пор ведутся споры на тему того, нужны ли эти фундаментальные знания или нет. Мы считаем, что такие знания все-таки нужны при условии, что они включают в себя только базовые концепции. 

По большому счету, наука о данных состоит из двух областей: с одной стороны это исследования, а с другой применение алгоритмов машинного обучения. Первая область требует очень глубокого знания математики и статистики. Но даже если выбрать для работы вторую область, базовые знания из статистики и математики будут нам только на руку.

Эту четверть надо будет начать с изучения следующих фундаментальных вещей:

  • Статистика (с Python и NumPy):
  1. описательная статистика;
  2. статистика выводов;
  3. проверка гипотез;
  4. теория вероятности.
  • Математика (с Python и NumPy)
  1. линейная алгебра;
  2. факторный анализ.

Прежде чем браться за статистику и математику, рекомендуем изучить Python, поскольку наша основная задача  —  связать математические и статистические основы с практикой.

Следует выбрать такой курс, программу или книгу, которая позволит познакомиться с этими концепциями на практике, используя Python. Этому этапу обучения надо будет посвятить примерно три месяца, после которых можно перейти на следующую ступень.

Вторая четверть: повышение уровня

После того как у нас появились базовые знания о программировании, статистике и математике, мы можем двинуться дальше и узнать, почему же Python так хорошо подходит для анализа данных. На этом этапе надо изучать следующее:

Библиотеки Python 

У Python есть библиотеки, с которыми необходимо познакомиться и научиться использовать на этом этапе:

  • Pandas: для работы с таблицами и углубленного анализа;
  • Matplotlib и Seaborn: для визуализации данных.

Pandas  —  это библиотека для анализа данных и один из самых важных инструментов работы в науке о данных. Pandas упростит процессы, связанные с чисткой и организацией данных.

Конструирование признаков

Зачастую новички в области науки о данных не углубляются в конструирование признаков. А зря! Это один из определяющих факторов создания хорошей модели машинного обучения.

Конструирование признаков  —  это применение знаний предметной области для получения признаков для машинного обучения из необработанных данных. Это пригодится для повышения производительности алгоритмов машинного обучения. Конструирование признаков можно также рассматривать как прикладное машинное обучение.

Базовые модели машинного обучения

В конце этого этапа мы перейдем к изучению машинного обучения. Это, пожалуй, самый долгожданный момент, поскольку теперь мы можем начать применять различные алгоритмы.

Для этого рекомендуем использовать Python-библиотеку scikit-learn. При этом очень важно понимать, как и почему применяются те или иные алгоритмы из этой библиотеки, чтобы не работать вслепую.
На этом этапе мы рекомендуем ознакомиться со следующими алгоритмами:

Обучение с учителем:

  • простая линейная регрессия;
  • множественная линейная регрессия;
  • алгоритм KNN;
  • логическая регрессия;
  • дерево решений;
  • алгоритм случайного леса.

Обучение без учителя:

  • метод k-средних.

На этом этапе чрезвычайно важно получить базовые знания, поэтому не стоит подолгу зависать на мелочах и пытаться охватить разом все!

На этом теоретическая часть плана закончилась, и мы можем перейти к практике.

Третья четверть: создание проекта

Теперь мы сможем использовать на практике все полученные нами знания по программированию, статистике, математике, анализу данных и машинному обучению.

Некоторые наши предложения в этой главе могут показаться немного необычными, но сомневаться не стоит  —  они очень важны для профессионального роста в науке о данных.

Для начала следует заняться своим интернет-продвижением:

  • Создание аккаунта на Github и изучение Git. Это позволит работать с разными версиями кода, заодно демонстрируя свои навыки коллегам и потенциальным работодателям.
  • Изучение основ веб-программирования. У нас уже есть преимущество в виде знания Python, поэтому можно научиться работать с Flask, чтобы создать простую веб-страницу.
  • Покупка домена со своим именем. Свой сайт, куда можно добавлять свое резюме и проекты,  —  это очень полезная штука. Существует довольно много шаблонов, которые можно использовать для создания приятного интерфейса.

Создание модели машинного обучения

Последней целью третьей четверти будет создание одного проекта, который будет выделяться среди остальных. Существует довольно много шаблонных проектов, например, по предсказанию количества выживших на Титанике или цены на недвижимость в Бостоне. На подобных проектах хорошо учиться, но использовать их в качестве своего личного проекта не стоит  —  слишком банально.

При выборе темы мы бы посоветовали отталкиваться от интересов: если нравится спорт, можно пытаться предсказать результаты турниров локальной футбольной лиги. Выбор безграничен, главное —  использовать свое воображение!

На этом этапе не стоит ждать от проекта монетизации. Очень важно не сдаваться перед лицом возможных трудностей. Даже если после долгой оптимизации коэффициент точности алгоритма будет не очень высок, проект все равно важно закончить и отправить на тестирование.
Благодаря этому появится ценное понимание всего процесса создания проектов в рамках науки о данных.

Четвертая четверть: поиск

На этом этапе надо переходить к поиску возможностей по трудоустройству. В больших компаниях, работающих в сфере науки о данных, существует довольно высокий входной барьер по опыту работы (от 3 лет) и требуемым навыкам. Поэтому сходу устроиться в подобные места может оказаться не так-то просто. 

Возможно, стоит обратить внимание на небольшие компании или стартапы, которые только создают свои первые команды. Заоблачных зарплат ждать не стоит, и рабочий день может быть длинным, но не стоит забывать, что мы пока всего лишь джуниоры. 

Важно также не забывать про практику и продолжать работать над улучшением приобретенных навыков и получением новых знаний.

Заключение

Надеемся, что этот краткий учебный план помог понять, как начать строить карьеру в науке о данных.

Спасибо за чтение и удачи в новой профессии!

Читайте также:

Читайте нас в Telegram, VK и Яндекс.Дзен


Перевод статьи Daniel Morales: Study Plan for Learning Data Science Over the Next 12 Months.

Предыдущая статьяНовая библиотека превосходит Pandas по производительности
Следующая статьяДля чего нужен указатель в Си?