Словарь терминов Python: погружение в DS
В предыдущей статье мы рассказывали об основных терминах, которые стоит знать начинающему разработчику на Python. Теперь углубимся в инструменты и технологии, которые используются в Data Science.
NumPy — библиотека с открытым исходным кодом, которая упрощает математические вычисления. Она представляет базовые математические операции в виде быстрых функций и экономит время на их написание с нуля. NumPy дает набор инструментов для манипуляции с большими массивами данных и матрицами.
SciPy — еще один модуль, который расширяет возможности NumPy большим количеством прикладных математических алгоритмов. В их числе — регрессия, минимизация, преобразование Фурье и другие.
PostgreSQL — система управления реляционными базами данных с открытым исходным кодом.
Pandas — это библиотека для работы и анализа больших массивов структурированных данных. Она значительно упрощает работу с данными: там, где на чистом Python нужно было написать 10 строк кода, с этим пакетом будет достаточно одной.
Matplotlib — это библиотека для визуализации данных. С ее помощью можно наглядно представить результат анализа данных: например, в виде графика или диаграммы.
Seaborn — это расширение для Matplotlib, которое позволяет сделать сложные визуализации понятнее и привлекательнее.
statsmodel — библиотека для исследования данных, анализа статистических моделей и выполнения статистических тестов. В ее основе лежат библиотеки NumPy и SciPy.
Docker — платформа для разработки, поставки и запуска контейнерных приложений. Контейнер в этом контексте — изолированная от операционной системы среда, в которой может запускаться приложение.
PyTorch — библиотека с открытым исходным кодом от Facebook. Она упрощает построение модулей для обучения нейросетей, обработки естественного языка и компьютерного зрения.
CatBoost — библиотека с открытым исходным кодом, созданная «Яндексом». Она помогает строить нейросети на основе схемы градиентного бустинга.
Streamlit — фреймворк, который позволяет в несколько строк кода развернуть модель машинного обучения в веб-приложение с помощью генерации React-кода.
Классификация — базовая задача, которая решается с помощью машинного обучения. С ее помощью можно получить ответ (принадлежность к классу) на основе набора признаков. Например, объект задачи — несколько десятков фотографий, а цель — определить, если ли на них собаки или нет.
Регрессия — еще одна базовая задача, суть которой в составлении прогноза на основе выборки объектов с различными признаками. С ее помощью, например, можно составить прогноз выручки магазина или определить, когда станок на фабрике потребует ремонта. Ответ здесь — это значение из непрерывной величины.
Кластеризация — алгоритм распределения данных по группам (кластерам) в соответствии с определенными признаками. На практике эта задача, например, помогает распределить клиентов магазина в разные группы в соответствии с их платежеспособность. Задача похожа на классификацию, но здесь «настоящие» классы заранее неизвестны.
А/Б-тестирование — эксперимент, цель которого — сравнить две версии чего-либо.
Полносвязные нейросети — класс нейросети, в которой каждый нейрон связан со всеми остальными в своём слое, а связи строятся от входных нейронов к выходным между слоями.
Сверточные нейросети — еще один класс, в котором каждый нейрон связан только с несколькими другими нейронами («бегущее» окно свертки). Он имитирует способности человеческого глаза и чаще всего используется для распознавания изображений.
Рекуррентные нейросети — класс нейросетей, которые используются для моделирования последовательностей данных. Например, временных рядов, где данные расположены в виде значения определенного показателя на протяжении определенного времени. Или последовательности символов и слов в задачах обработки естественного языка (NLP).