C++ для Data Science: от сырых данных к производственным алгоритмам — Артем Воронов — обложка книги
300 страниц
C++
PDF
4.5

C++ для Data Science: от сырых данных к производственным алгоритмам

Высокопроизводительный C++ в задачах анализа данных и машинного обучения

Автор:

Год:

Краткое содержимое:

Эта книга — ваш мост между мощью C++ и миром Data Science. В эпоху, когда Python доминирует в прототипировании, C++ остается незаменимым языком для production-систем, где критична скорость, эффективность использования памяти и работа с потоками данных в реальном времени. Автор, Артем Воронов — инженер с 10-летним опытом в high-load системах и ML-инфраструктуре, — последовательно раскрывает, как применять современный C++ (стандарты C++17/20) для построения высокопроизводительных пайплайнов обработки данных.

Книга начинается с основ: вы научитесь эффективно работать с контейнерами STL для хранения и преобразования больших датасетов, освоите идиомы move-семантики и умных указателей для предотвращения утечек памяти, а также познакомитесь с параллельными алгоритмами из стандартной библиотеки. Затем вы перейдете к специализированным задачам: реализация базовых алгоритмов машинного обучения (линейная регрессия, k-ближайших соседей, наивный байесовский классификатор) без использования тяжелых фреймворков — только на STL и Eigen для линейной алгебры.

Особое внимание уделяется работе с большими объемами данных, которые не помещаются в оперативную память. Вы узнаете, как писать потоковые процессоры, использовать memory-mapped файлы и строить распределенные конвейеры с помощью MPI. Отдельная глава посвящена интеграции C++ с Python через pybind11 — это позволит вам создавать быстрые модули-расширения для существующих Python-скриптов.

Практические примеры включают: построение рекомендательной системы на коллаборативной фильтрации, реализацию нейронной сети прямого распространения с нуля, оптимизацию ETL-процессов и создание собственной библиотеки для работы с временными рядами. Все примеры сопровождаются бенчмарками и профилированием с помощью perf и Valgrind.

Для кого эта книга:

  • Data scientists, которые хотят ускорить свои модели и перейти от прототипов к production-коду
  • C++ разработчиков, стремящихся применить свои навыки в аналитике и машинном обучении
  • Студентов технических специальностей, изучающих высокопроизводительные вычисления
  • Инженеров по обработке данных, работающих с real-time системами и IoT

Читатель узнает:

  • Как выбирать структуры данных под конкретную задачу анализа
  • Приемы оптимизации кода на уровне компилятора и алгоритмов
  • Методы распараллеливания вычислений (OpenMP, TBB, std::thread)
  • Как профилировать и отлаживать производительность C++ программ
  • Способы интеграции C++ кода в Python-экосистему
  • Реализацию ключевых алгоритмов ML без готовых библиотек

Книга предполагает базовое знание C++ (синтаксис, классы, шаблоны) и общее представление о статистике. Подход автора — от простого к сложному: каждая новая концепция подкрепляется рабочим кодом, который можно сразу запустить и модифицировать. Это не справочник, а практическое руководство для тех, кто хочет писать быстрые и надежные программы для работы с данными на одном из самых мощных языков программирования.

Рекомендаций