Course Wiki
Machine Learning Zoomcamp
DataTalks.Club's free machine learning engineering course: from regression and classification to deploying models with FastAPI, Docker, Kubernetes, and AWS Lambda.
Related Pages
Machine Learning Zoomcamp is DataTalks.Club’s free, hands-on course on machine learning engineering. It follows the complete path from a machine learning problem to a production service: frame the problem, prepare the data, train and evaluate the model, expose it through an API, package it, and deploy it. The emphasis is on turning trained models into services other applications can call, not on theory.
All materials are open source in the course repository, with videos on YouTube and a course FAQ. The live cohort runs once a year (September through December, capstones concluding in January); everything is also available self-paced.
Curriculum
All modules, each with its lesson-level notes:
- Module 1: Introduction to Machine Learning
- Module 2: Machine Learning for Regression
- Module 3: Machine Learning for Classification
- Module 4: Evaluation Metrics for Classification
- Module 5: Deploying Machine Learning Models
- Module 6: Decision Trees and Ensemble Learning
- Module 8: Neural Networks and Deep Learning
- Module 9: Serverless Deep Learning
- Module 10: Kubernetes and TensorFlow Serving
The course uses Python, NumPy, pandas, scikit-learn, TensorFlow, PyTorch, FastAPI, Docker, Kubernetes, and AWS Lambda.
- Module 1: Introduction to Machine Learning — rule-based systems versus ML, supervised learning, and structuring a project with CRISP-DM.
- Module 2: Machine Learning for Regression — a car-price prediction model built from exploratory analysis through linear regression and regularization, with a validation framework.
- Module 3: Machine Learning for Classification — customer-churn prediction with logistic regression, categorical encoding, and feature importance.
- Module 4: Evaluation Metrics for Classification — accuracy, precision, recall, F1, confusion matrices, ROC curves and AUC, cross-validation, and class imbalance (classification metrics).
- Module 5: Deploying Machine Learning Models — model serialization, serving predictions through FastAPI, packaging with Docker, and cloud deployment.
- Module 6: Decision Trees and Ensemble Learning — decision trees, random forests, and gradient boosting with XGBoost, plus hyperparameter tuning.
- Midterm project — an end-to-end ML problem of the learner’s choice, deployed as a web service.
- Module 8: Neural Networks and Deep Learning — neural networks, convolutional networks and transfer learning with PyTorch, TensorFlow, and Keras for image classification.
- Module 9: Serverless Deep Learning — scikit-learn, TensorFlow, and PyTorch models served through AWS Lambda and API Gateway (serverless deployment).
- Module 10: Kubernetes and TensorFlow Serving — model serving, scaling, and traffic distribution on Kubernetes.
- Capstone projects 1 and 2 — two larger end-to-end projects that qualify for the certificate.
Looking for a specific concept? The Concept Glossary links every concept this course teaches to the exact modules and lessons that cover it.
Who it is for
The course targets people with about a year of programming experience who want to move into machine learning engineering — software engineers, data analysts, data engineers, and technical students. No prior machine learning experience is required; command-line comfort is. Cloud, Kubernetes, and GPU experience are explicitly not prerequisites, and the deep learning modules use cloud resources instead of a local GPU.
Projects and certificate
Certificates require a live cohort: two qualifying projects (the midterm plus one capstone, or both capstones) and peer reviews of three other learners’ projects. The capstone workflow — choose a dataset, define the prediction task, train and evaluate, deploy as a web service — is the same shape hiring managers probe for. Published learner case studies include a blood cell classifier for cancer prediction and a waste classifier serving an Xception model through a Docker-packaged API.