C++ para Data Science: de dados brutos a algoritmos de produção
C++ para Data Science: de dados brutos a algoritmos de produção
Resumo:
Este livro é a sua ponte entre o poder do C++ e o mundo do Data Science. Numa era em que o Python domina a prototipagem, o C++ continua a ser uma linguagem indispensável para sistemas de produção onde a velocidade, a eficiência do uso de memória e o trabalho com fluxos de dados em tempo real são críticos. O autor, Artem Voronov — engenheiro com 10 anos de experiência em sistemas de alta carga e infraestrutura de ML — revela sequencialmente como aplicar o C++ moderno (padrões C++17/20) para construir pipelines de processamento de dados de alto desempenho.
O livro começa com o básico: você aprenderá a trabalhar eficientemente com contêineres STL para armazenar e transformar grandes conjuntos de dados, dominará os idiomas de move-semântica e smart pointers para evitar vazamentos de memória, e também conhecerá os algoritmos paralelos da biblioteca padrão. Em seguida, você passará para tarefas especializadas: implementação de algoritmos básicos de aprendizado de máquina (regressão linear, k-vizinhos mais próximos, classificador naive Bayes) sem usar frameworks pesados — apenas com STL e Eigen para álgebra linear.
É dada especial atenção ao trabalho com grandes volumes de dados que não cabem na memória RAM. Você aprenderá a escrever processadores de fluxo, usar arquivos memory-mapped e construir pipelines distribuídos com MPI. Um capítulo separado é dedicado à integração do C++ com Python através do pybind11 — isso permitirá que você crie módulos de extensão rápidos para scripts Python existentes.
Exemplos práticos incluem: construção de um sistema de recomendação baseado em filtragem colaborativa, implementação de uma rede neural feedforward do zero, otimização de processos ETL e criação da sua própria biblioteca para trabalhar com séries temporais. Todos os exemplos são acompanhados de benchmarks e profiling com perf e Valgrind.
Para quem é este livro:
- Data scientists que desejam acelerar seus modelos e passar de protótipos para código de produção
- Desenvolvedores C++ que buscam aplicar suas habilidades em análise e aprendizado de máquina
- Estudantes de áreas técnicas que estudam computação de alto desempenho
- Engenheiros de dados que trabalham com sistemas em tempo real e IoT
O leitor aprenderá:
- Como escolher estruturas de dados para a tarefa de análise específica
- Técnicas de otimização de código ao nível do compilador e dos algoritmos
- Métodos de paralelização de computação (OpenMP, TBB, std::thread)
- Como perfilar e depurar o desempenho de programas C++
- Formas de integrar código C++ no ecossistema Python
- Implementação de algoritmos-chave de ML sem bibliotecas prontas
O livro pressupõe conhecimento básico de C++ (sintaxe, classes, templates) e uma compreensão geral de estatística. A abordagem do autor é do simples ao complexo: cada novo conceito é apoiado por código funcional que pode ser imediatamente executado e modificado. Este não é um manual de referência, mas um guia prático para quem deseja escrever programas rápidos e confiáveis para trabalhar com dados numa das linguagens de programação mais poderosas.
Recommendations
Código Limpo em Rust: Princípios e Práticas de Programação Idiomática
Concorrência em Rust: dos fundamentos aos sistemas de alta carga
Teste de aplicações C# (.NET). Guia completo
Aprendizado de Máquina e Swift: Desenvolvimento para iOS e macOS
Aprendizado de Máquina e Rust: do básico à produção
Programação Paralela em Rust: Um Guia Prático