C++ pour la Data Science : des données brutes aux algorithmes de production
C++ pour la Data Science : des données brutes aux algorithmes de production
Résumé :
Ce livre est votre pont entre la puissance du C++ et le monde de la Data Science. À une époque où Python domine le prototypage, le C++ reste un langage indispensable pour les systèmes de production où la vitesse, l'efficacité de l'utilisation de la mémoire et le traitement des flux de données en temps réel sont critiques. L'auteur, Artem Voronov — ingénieur avec 10 ans d'expérience dans les systèmes à haute charge et l'infrastructure ML — dévoile progressivement comment appliquer le C++ moderne (normes C++17/20) pour construire des pipelines de traitement de données haute performance.
Le livre commence par les bases : vous apprendrez à travailler efficacement avec les conteneurs STL pour stocker et transformer de grands ensembles de données, maîtriserez les idiomes de la sémantique de déplacement et des pointeurs intelligents pour éviter les fuites mémoire, et découvrirez les algorithmes parallèles de la bibliothèque standard. Ensuite, vous passerez à des tâches spécialisées : implémentation d'algorithmes de base d'apprentissage automatique (régression linéaire, k-plus proches voisins, classifieur naïf bayésien) sans utiliser de frameworks lourds — uniquement avec STL et Eigen pour l'algèbre linéaire.
Une attention particulière est accordée au traitement de grands volumes de données qui ne tiennent pas dans la mémoire vive. Vous apprendrez à écrire des processeurs de flux, à utiliser des fichiers mappés en mémoire et à construire des pipelines distribués avec MPI. Un chapitre distinct est consacré à l'intégration du C++ avec Python via pybind11 — cela vous permettra de créer des modules d'extension rapides pour vos scripts Python existants.
Les exemples pratiques incluent : la construction d'un système de recommandation par filtrage collaboratif, l'implémentation d'un réseau de neurones à propagation avant à partir de zéro, l'optimisation de processus ETL et la création de votre propre bibliothèque pour le traitement de séries temporelles. Tous les exemples sont accompagnés de benchmarks et de profilage avec perf et Valgrind.
À qui s'adresse ce livre :
- Data scientists qui souhaitent accélérer leurs modèles et passer des prototypes au code de production
- Développeurs C++ cherchant à appliquer leurs compétences en analytique et en apprentissage automatique
- Étudiants en disciplines techniques étudiant le calcul haute performance
- Ingénieurs en traitement de données travaillant avec des systèmes temps réel et l'IoT
Le lecteur apprendra :
- Comment choisir les structures de données adaptées à une tâche d'analyse spécifique
- Les techniques d'optimisation du code au niveau du compilateur et des algorithmes
- Les méthodes de parallélisation des calculs (OpenMP, TBB, std::thread)
- Comment profiler et déboguer les performances des programmes C++
- Les façons d'intégrer du code C++ dans l'écosystème Python
- L'implémentation d'algorithmes ML clés sans bibliothèques prêtes à l'emploi
Le livre suppose une connaissance de base du C++ (syntaxe, classes, templates) et une compréhension générale des statistiques. L'approche de l'auteur va du simple au complexe : chaque nouveau concept est étayé par un code fonctionnel que vous pouvez immédiatement exécuter et modifier. Ce n'est pas un ouvrage de référence, mais un guide pratique pour ceux qui souhaitent écrire des programmes rapides et fiables pour travailler avec des données dans l'un des langages de programmation les plus puissants.
Recommendations
Secrets de Python Pro
DevOps pour les développeurs Rust : automatisation, CI/CD et déploiement
Swift (iOS/macOS) et Docker : conteneurisation d'applications
Kotlin pour la Data Science : Guide pratique d'analyse de données
Entretien Swift (iOS/macOS) : 200 questions et réponses
Développement iOS avec TDD et Swift