Обложка: Базовые знания Data Science: что и где нужно изучить новичку

Базовые знания Data Science: что и где нужно изучить новичку

Андрей Ермишин
Андрей Ермишин

Python-разработчик в ООО «Агроресурс»

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

Что же необходимо знать по минимуму для такой работы? Вообще, все нижеприведенные навыки можно изучить на курсах Coursera или найти курсы на множестве других платформ, например, есть мини-курсы на Kaggle. А по основам программирования есть хороший курс CS50 на русском от университета Harvard.

Python

Курс на Coursera

Очень популярный сейчас и доступный в обучении язык программирования. Необходимо знать основы языка, функции, структуры данных, классы (ООП). Также понадобится Jupyter Notebook и Git. Дополнительные библиотеки можно установить относительно быстро и легко (трудности могут возникнуть для самых последних версий Python).

Numpy/Scipy

Курс на Coursera

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

Если нужно работать с разреженными таблицами, использовать векторизированный подход, или нужно быстродействие при вычислении больших массивов, то функции из Numpy подойдут лучше всего. Правда иногда применение Numpy/Scipy требует преобразования данных в собственные типы массивов (ndarray). Многие библиотеки Python для Data Science зависят от Numpy (например, Sklearn). Часто в работе удобно использовать встроенные в Numpy математические функции, т.к. они хорошо оптимизированы для численных вычислений с матрицами.

Pandas

Курс на Kaggle

Библиотека Pandas нужна всегда, потому что данные нужно прочитать и обработать. Pandas — это мощный и легкий в использовании инструмент с открытым исходным кодом. Также с помощью Pandas можно делать сложные запросы из нескольких таблиц (файлов/баз данных), чтобы создать новую нужного вида — для дальнейшего обучения модели или для визуализации. Часто Pandas используется для начальной обработки данных, математических и статистических вычислений.

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

Matplotlib/Seaborn

Курс на Kaggle

Ну и, конечно, куда же без визуализации данных! Для этого широко используют Matplotlib, чтобы строить любые типы графиков. Matplotlib полезен для своих собственных графиков, которые получаются в процессе вычислений. Если нужно построить график из уже готовых данных и не хочется настраивать стиль отображения в 10-20 строк, то можно воспользоваться Seaborn и сделать то же самое за 1-2 строки и уже настроенным стилем. Наглядный график может помочь в решении проблемы или в обсуждении с заказчиками.

Sklearn

Курс на Coursera

Для создания аналитических моделей потребуется знание традиционных алгоритмов машинного обучения (ML): линейная и логистическая регрессии, дерево принятия решений, кластеризация.

Пожалуй, самая популярная ML-библиотека для Python – это scikit-learn (sklearn). Документация очень подробная и наглядная, всё API в библиотеке относительно простое и удобное в использовании. Например, чтобы обучить модель, используем clf.fit(X, y), затем предсказать — clf.predict(y_test). Также можно использовать Pipeline для повторного использования всех шагов обработки данных. Можно даже использовать элементы из deep learning (искусственные нейронные сети) — Multi-layer Perceptron (MLP).

Заключение

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