This repository contains the Jupyter notebooks and code for the second edition of a popular hands-on machine learning book that teaches both classical ML and deep learning using modern tooling. The notebooks emphasize end-to-end workflows: data preparation, model selection, tuning, and reliable evaluation. Deep learning sections use the contemporary Keras/TensorFlow 2 ecosystem, highlighting clean APIs and eager execution to make experiments easier to reason about. Traditional ML topics remain central, with scikit-learn pipelines, feature engineering, and cross-validation patterns that transfer to real projects. The material favors clear explanations and runnable code over theory alone, so learners can iterate, visualize, and debug as they go. It’s suitable for self-study, classrooms, and as a reference for practitioners who want concise, working examples of common ML tasks.
Features
- Complete notebooks for classical ML with scikit-learn and modern DL with Keras/TensorFlow 2
- End-to-end examples covering data cleaning, pipelines, and model tuning
- Visualizations and diagnostics to build intuition about model behavior
- Reproducible environments and datasets for consistent results
- Coverage of CNNs, RNNs, and transfer learning alongside traditional methods
- Exercises and solutions that map directly to real-world workflows