Код
Код
#статьи
  • 2882

Карта развития дата-сайентиста: с чего начать, к чему идти и сколько времени потребуется

На каком уровне находитесь вы и далеко ли до следующей ступеньки?

Бенджамин Оби Тайо

(Benjamin Obi Tayo)


об авторе

Преподаватель физики и инженерных дисциплин в Университете Эдмонта, Оклахома. Интересы: Data Science, машинное обучение, ИИ, Python, R, биофизика.


Ссылки


Каждый, кто заинтересовался наукой о данных, задаётся вопросом: а сколько времени понадобится, чтобы её изучить? Мы составили примерный график профессионального развития дата-сайентиста по трём уровням — базовый, средний и продвинутый. Чтобы было проще сравнивать с требованиями вакансий, привели их к принятым в IT терминам: стажёр (intern), джун (junior, младший), мидл (middle, средний) и сеньор (senior, старший).

Уровни для дата-сайентиста рассмотрим на примере языка Python. Но вообще в Data Science используют и другие языки и платформы — R, Julia, SAS, MATLAB.

Дополнительно: Чтобы не запутаться в терминах, прочитайте нашу статью про Python-минимум, необходимый для первоначального погружения в Data Science. И будьте осторожны — дальше много чек-листов и перечислений :)

перевод


Оригинал статьи:

Timeline for Data Science Competence


Цокто Жигмытов

С некоторых пор утверждает, что он data scientist. В предыдущих сезонах выдавал себя за математика, звукорежиссера, радиоведущего, переводчика, писателя. Кандидат наук, но не точных. Бесстрашно пишет о Data Science и программировании на Python.


Уровень 1. От стажёра к джуну

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

Основы обработки данных

В первую очередь придётся манипулировать данными, чистить, структурировать и приводить их к единой размерности или шкале. От новичка ждут уверенной работы с библиотеками Pandas и NumPy и некоторых специальных навыков:

  • импорт и экспорт данных в CSV-формате;
  • очистка, предварительная подготовка, систематизация данных для анализа или построения модели;
  • работа с пропущенными значениями в датасете;
  • понимание принципов замены недостающих данных (импутации) и их реализация — например, замена средними или медианами;
  • работа с категориальными признаками;
  • разделение датасета на обучающую и тестовую части;
  • нормировка данных с помощью нормализации и стандартизации;
  • уменьшение объёма данных с помощью техник снижения размерности — например, метода главных компонент.

Визуализация данных

Новичок должен знать основные принципы хорошей визуализации и инструменты — в том числе Python-библиотеки matplotlib и seaborn (для R — ggplot2).

Какие компоненты нужны для правильной визуализации данных:

  • Данные. Прежде чем решить, как именно визуализировать данные, надо понять, к какому типу они относятся: категориальные, численные, дискретные, непрерывные, временной ряд.
  • Геометрия. То есть какой график вам подойдёт: диаграмма рассеяния, столбиковая диаграмма, линейный график, гистограмма, диаграмма плотности, «ящик с усами», тепловая карта.
  • Координаты. Нужно определить, какая из переменных будет отражена на оси x, а какая — на оси y. Это важно, особенно если у вас многомерный датасет с несколькими признаками.
  • Шкала. Решите, какую шкалу будете использовать: линейную, логарифмическую или другие.
  • Текст. Всё, что касается подписей, надписей, легенд, размера шрифта и так далее.
  • Этика. Убедитесь, что ваша визуализация излагает данные правдиво. Иными словами, что вы не вводите в заблуждение свою аудиторию, когда очищаете, обобщаете, преобразовываете и визуализируете данные.

Обучение с учителем: предсказание непрерывных переменных

Главное: стажёру придётся изучить методы регрессии, стать почти на ты с библиотеками scikit-learn и caret, чтобы строить модели линейной регрессии. Но чтобы стать полноценным джуниором, стажёр должен знать и уметь ещё кучу всего (осторожно — там сложные слова, но есть подсказки):

  • проводить простой регрессионный анализ с помощью NumPy или Pylab;
  • использовать библиотеку scikit-learn, чтобы решать задачи с множественной регрессией;
  • понимать методы регуляризации: метод LASSO, метод упругой сети, метод регуляризации Тихонова;
  • знать непараметрические методы регрессии: метод k-ближайших соседей и метод опорных векторов;
  • понимать метрики оценок моделей регрессии: среднеквадратичная ошибка, средняя абсолютная ошибка и коэффициент детерминации R-квадрат;
  • сравнивать разные модели регрессии.

А как вы хотели — сделать Терминатора непросто :)

Уровень 2. От джуна к мидлу

Прочно закрепив на практике все те неприличные слова из блока для джуна, можно штурмовать более продвинутые техники и методы: предсказание дискретных переменных в обучении с учителем (supervised learning), оценку и настройку моделей, а также сбор разных алгоритмов в единые ансамбли методов. Вы уже поняли, что сейчас опять начнётся ковровое бомбометание дата-сайентистскими терминами? Не вздумайте употреблять их в публичных местах — а то бабушки начнут креститься, как будто увидели сатаниста или парня с татуировками по всему телу :)

Обучение с учителем: предсказание дискретных переменных

Начните с алгоритмов бинарной классификации — вот какие надо знать мидлу:

  • перцептрон;
  • логистическая регрессия;
  • метод опорных векторов;
  • решающие деревья и случайный лес;
  • k-ближайших соседей;
  • наивный байесовский классификатор.

Дополнительно: небольшая статья о том, как создать простую модель машинного обучения. Формируем и делим датасет, обучаем модель Random Forest, предсказываем дискретную переменную и вот это всё.

Мастхэв — на хорошем уровне работать с библиотекой scikit-learn (она уже тут мелькала), которая помогает строить модели. Также придётся решать задачи на нелинейную классификацию с помощью метода опорных векторов, освоить несколько метрик для оценки алгоритмов классификации — точность, погрешность, чувствительность, матрица ошибок, F-мера, ROC-кривая.

Оценка моделей и оптимизация гиперпараметров

Чтобы правильно оценивать и настраивать модели, специалисту нужно:

  • соединять трансформеры (к Оптимусу Прайму и Бамблби они отношения не имеют — пока) и модули оценки (estimators) в конвейеры машинного обучения (machine learning pipelines).
  • использовать кросс-валидацию для оценки модели;
  • устранять ошибки в алгоритмах классификации с помощью кривых обучения и валидации;
  • выявлять проблемы смещения и дисперсии с помощью кривых обучения;
  • работать с переобучением и недообучением, используя кривые валидации;
  • настраивать модель машинного обучения и оптимизировать гиперпараметры с помощью поиска по решётке;
  • читать и правильно интерпретировать матрицу ошибок;
  • строить и правильно толковать ROC-кривую.

Сочетание разных моделей в ансамбле методов

  • использовать ансамбль методов с различными классификаторами;
  • комбинировать разные алгоритмы классификации;
  • знать, как оценить и настроить ансамбль моделей классификации.

Уровень 3. От мидла к сеньору

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

  • алгоритм кластеризации (обучение без учителя);
  • k-средние;
  • глубокое обучение;
  • нейронные сети;
  • библиотеки Keras, TensorFlow, Theano;
  • основы разработки в облачных сервисах: AWS, Azure.

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

Дорожная карта развития навыков Data Science

Итак, чтобы стать специалистом базового уровня, понадобится от 6 до 12 месяцев. Вырасти с базового уровня до среднего можно за 7–18 месяцев. Продвинутый уровень потребует ещё от 18 до 48 месяцев.

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

На курсе «Профессии Data Scientist» мы даём не только базовые знания, но и часть навыков среднего и продвинутого уровней. В итоге у вас появятся портфолио проектов, стаж не менее года, заряженные единомышленники и компетентные наставники. Приходите!

Курс

Профессия Data Scientist


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

После прохождения обучения — помощь в трудоустройстве.

Понравилась статья?
Да
1796

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪