Написать пост

Как стать экспертом в Data Science: пошаговый план обучения

Аватар Евгений Туренко

Смотрим на последние тренды в Data Science и раскладываем по полочкам этапы обучения: от выбора языка и библиотек до машинного обучения и нейронных сетей.

Обложка поста Как стать экспертом в Data Science: пошаговый план обучения

Мало кто может предсказывать события до ста процентов верно. Но дата-сайнтисты научились. А мы нашли последние тренды Data Science и составили план для тех, кто хочет глубоко изучить эту область.

Выбор языка

Сейчас в науке о данных используются два основных языка: Python и R. Язык R применяется для сложных финансовых анализов и научных исследований, потому его глубокое изучение можно отложить на потом.

На начальном этапе можно остановиться на изучении основ:

  • нюансы работы RStudio;
  • библиотеки Rcmdr, rattle и Deducer;
  • типы данных контейнеров, векторы и первичные типы данных;
  • factors, структуры и матрицы.

Быстро разобраться в теории языка R поможет сайт Quick-R.

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

Что важно освоить в Python:

  • функции, классы, объекты;
  • структуры данных;
  • базовые алгоритмы и библиотеки;
  • качественную отладку и тестирование кода;
  • Jupyter Notebook;
  • Git.

Чтобы освоить базовые понятия Python, у вас уйдёт примерно 4-6 недель при условии, что вы будете тратить на изучение 2-3 часа в день.

Библиотеки для Python

NumPy

NumPy — библиотека научных вычислений. От неё зависит почти каждый пакет Python для Data Science или Machine Learning: SciPy (Scientific Python), Matplotlib, Scikit-learn.

NumPy помогает выполнять математические и логические операции: например, в ней содержатся полезные функции для n-массивов и матриц. А ещё библиотека поддерживает многомерные массивы и высокоуровневые математические функции для работы с ними.

Зачем нужно знать математику? Почему компьютер не может сам всё посчитать?

Часто методы машинного обучения используют матрицы для хранения и обработки входных данных. Матрицы, векторные пространства и линейные уравнения — всё это линейная алгебра.

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

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

Что важно освоить:

  • основу линейной алгебры: линейные комбинации, зависимость и независимость, векторные точки и векторное произведение, матричные преобразования, матричное умножение,
  • обратные функции;
  • массивы;
  • обработку математических выражений и статических данных;
    визуализации через Matplotlib, Seaborn или Plotly.

Где можно подтянуть знания по NumPy: официальная документация.

Где можно подтянуть знания по алгебре: Calculus (глава 11).

Pandas

Pandas — библиотека с открытым исходным кодом, построенная на NumPy. Она позволяет выполнять быстрый анализ, очистку и подготовку данных. Такой своеобразный Excel для Python.
Библиотека хорошо умеет работать с данными из разных источников: листов Excel, файлов CSV, SQL, веб-страниц.

Что важно освоить:

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

Где можно подтянуть знания по Pandas: Pydata.

Базы данных и сбор информации

Если вы уже знакомы с Python, Pandas и NumPy, можете приступать к изучению работы с базами данных и парсингу информации.

SQL

Несмотря на то, что NoSQL и Hadoop уже пустили корни в науку о данных, важно уметь писать и выполнять сложные запросы на SQL.

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

Нужно научиться:

  • добавлять, удалять и извлекать данные из баз данных;
  • выполнять аналитические функции и преобразовывать структуры баз данных;
  • PostgreSQL;
  • MySQL;
  • SQL Server.

Парсинг информации

Важно:

  • уметь использовать методы find и find_all в парсинге страниц с помощью Beautiful Soup;
  • понять, как работает перебор элементов и сохранение переменных в Python;
  • работать с get-запросами и взаимодействовать с API.

Алгоритмы

Быть программистом без знания алгоритмов страшно, а Data Scientist’ом — опасно. Так что если вы уже освоили Python, Pandas, NumPy, SQL и API, пора учиться применять эти технологии для исследований.

Скорость работы хорошего специалиста часто зависит от трёх факторов: от поставленного вопроса, объёма данных и выбранного алгоритма.

Потому на этом этапе важно понять алгоритмы и структуры данных Беллмана-Форда, Дейкстры, двоичного поиска (и двоичные деревья как инструмент), поиска в глубину и ширину.

Подтянуть знания поможет Tproger (алгоритмы, структуры данных).

Машинное обучение и нейронные сети

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

Реальные задачи чаще всего решаются с помощью серьёзных библиотек вроде TensorFlow и Keras.

Нужно освоить:

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

Заключение

Стать экспертом в Data Science непросто: приходится изучать множество инструментов и быть гибким, чтобы вовремя узнавать о трендах.

Следите за новыми постами
Следите за новыми постами по любимым темам
61К открытий61К показов