C++ für Data Science: Von Rohdaten zu Produktionsalgorithmen
300 Seiten
German
PDF
4.5

C++ für Data Science: Von Rohdaten zu Produktionsalgorithmen

C++ für Data Science: Von Rohdaten zu Produktionsalgorithmen

Autor:

Jahr:

Zusammenfassung:

Dieses Buch ist Ihre Brücke zwischen der Leistungsfähigkeit von C++ und der Welt der Data Science. In einer Zeit, in der Python beim Prototyping dominiert, bleibt C++ eine unverzichtbare Sprache für Produktionssysteme, in denen Geschwindigkeit, Speichereffizienz und die Arbeit mit Echtzeit-Datenströmen entscheidend sind. Der Autor, Artjom Woronow – ein Ingenieur mit 10 Jahren Erfahrung in High-Load-Systemen und ML-Infrastruktur – zeigt Schritt für Schritt, wie man modernes C++ (Standards C++17/20) für den Aufbau leistungsstarker Datenverarbeitungspipelines einsetzt.



Das Buch beginnt mit den Grundlagen: Sie lernen, effizient mit STL-Containern zum Speichern und Transformieren großer Datensätze zu arbeiten, meistern die Idiome der Move-Semantik und intelligenten Zeiger zur Vermeidung von Speicherlecks und machen sich mit parallelen Algorithmen aus der Standardbibliothek vertraut. Anschließend gehen Sie zu spezialisierten Aufgaben über: Implementierung grundlegender Algorithmen des maschinellen Lernens (lineare Regression, k-nächste Nachbarn, naiver Bayes-Klassifikator) ohne den Einsatz schwerer Frameworks – nur mit STL und Eigen für lineare Algebra.



Besonderes Augenmerk liegt auf der Arbeit mit großen Datenmengen, die nicht in den Arbeitsspeicher passen. Sie erfahren, wie man Streaming-Prozessoren schreibt, Memory-Mapped-Dateien verwendet und verteilte Pipelines mit MPI aufbaut. Ein eigenes Kapitel widmet sich der Integration von C++ mit Python über pybind11 – damit können Sie schnelle Erweiterungsmodule für bestehende Python-Skripte erstellen.



Praktische Beispiele umfassen: den Aufbau eines Empfehlungssystems basierend auf kollaborativer Filterung, die Implementierung eines Feedforward-Neuronalen Netzes von Grund auf, die Optimierung von ETL-Prozessen und die Erstellung einer eigenen Bibliothek für die Arbeit mit Zeitreihen. Alle Beispiele werden durch Benchmarks und Profiling mit perf und Valgrind begleitet.



Für wen ist dieses Buch:

  • Data Scientists, die ihre Modelle beschleunigen und von Prototypen zu Produktionscode übergehen möchten
  • C++-Entwickler, die ihre Fähigkeiten in Analytik und maschinellem Lernen anwenden möchten
  • Studenten technischer Fachrichtungen, die Hochleistungsrechnen studieren
  • Datenverarbeitungsingenieure, die mit Echtzeitsystemen und IoT arbeiten


Der Leser erfährt:

  • Wie man Datenstrukturen für die jeweilige Analyseaufgabe auswählt
  • Techniken zur Codeoptimierung auf Compiler- und Algorithmenebene
  • Methoden zur Parallelisierung von Berechnungen (OpenMP, TBB, std::thread)
  • Wie man die Leistung von C++-Programmen profiliert und debuggt
  • Möglichkeiten zur Integration von C++-Code in das Python-Ökosystem
  • Die Implementierung wichtiger ML-Algorithmen ohne vorgefertigte Bibliotheken


Das Buch setzt grundlegende C++-Kenntnisse (Syntax, Klassen, Templates) und ein allgemeines Verständnis von Statistik voraus. Der Ansatz des Autors ist vom Einfachen zum Komplexen: Jedes neue Konzept wird durch funktionierenden Code untermauert, der sofort ausgeführt und modifiziert werden kann. Dies ist kein Nachschlagewerk, sondern ein praktischer Leitfaden für alle, die schnelle und zuverlässige Programme für die Arbeit mit Daten in einer der leistungsstärksten Programmiersprachen schreiben möchten.

Empfehlungen