Как стать экспертом в Data Science: пошаговый план обучения
Смотрим на последние тренды в Data Science и раскладываем по полочкам этапы обучения: от выбора языка и библиотек до машинного обучения и нейронных сетей.
62К открытий64К показов
Мало кто может предсказывать события до ста процентов верно. Но дата-сайнтисты научились. А мы нашли последние тренды 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 непросто: приходится изучать множество инструментов и быть гибким, чтобы вовремя узнавать о трендах.
62К открытий64К показов