1. Project Overview & Quickstart (DataTalksClub/machine-learning-zoomcamp)
File: README.md
Machine Learning Zoomcamp: A Free 4-Month Course on ML Engineering
Quick Links
| Resource | Link |
|---|---|
| Course materials | GitHub repository |
| Video lectures | YouTube playlist |
| Documentation | Zoomcamp Logistics ยท ML Zoomcamp |
| Current cohort (2026) | Syllabus and deadlines |
| Course platform (deadlines, homework) | ml-zoomcamp-2026 |
| Slack channel | #course-ml-zoomcamp |
| Announcements | Telegram |
| FAQ | FAQ document |
About the Course
Machine Learning Zoomcamp teaches complete machine learning engineering, covering the entire pipeline: from building models with Python to deploying them in production environments.
You'll master the key ML algorithms like linear regression, logistic regression, decision trees, and deep learning with TensorFlow and PyTorch, then learn to containerize with Docker, build APIs with FastAPI, and scale with Kubernetes and AWS Lambda.
Who Should Join
This course is for software engineers, data analysts, and anyone with programming experience who wants to become a machine learning engineer. You don't need any prior machine learning experience; the course starts from the basics.
Prerequisites
You'll need:
- Prior programming experience (at least 1+ year)
- Comfort with command line basics
You don't need any prior experience with machine learning. We'll start from the basics.
Technical setup: for the machine learning modules, you only need a laptop with an internet connection. For the deep learning sections, we'll use cloud resources for more intensive computations.
How to Take the Course
There are two ways to follow the course: live and self-paced.
| Live Cohort | Self-Paced | |
|---|---|---|
| Start | 14 September 2026 | Anytime |
| Lectures | Pre-recorded | Pre-recorded |
| Homework | Graded | Available but not scored |
| Leaderboard | โ Yes | โ No |
| Peer Review | โ Yes | โ No |
| Certificate | โ Yes | โ No |
| Cost | Free | Free |
| Register | Sign up here | Just start learning! |
[!IMPORTANT]
"Live cohort" does not mean live classes. All lectures are pre-recorded. "Live" means working alongside others with deadlines, scored homework, a leaderboard, peer review, and a certificate at the end. The live cohort runs once per year: modules run from September to December, and the capstone projects finish in January.
To earn a certificate, you'll complete two projects (midterm + capstone, or two capstones) and the required peer reviews during a live cohort.
Self-paced steps:
- Follow the materials on GitHub
- Ask questions and share progress in Slack
- Do the homework (self-checked) and build a project for your portfolio
Syllabus
[Module 1: Introduction to Machine Learning](01-intro/)
Learn the fundamentals: what ML is, when to use it, and how to approach ML problems using the CRISP-DM framework.
- ML vs rule-based systems
- Supervised learning basics
- CRISP-DM methodology
- Model selection concepts
- Environment setup
[Module 2: Machine Learning for Regression](02-regression/)
Build a car price prediction model while learning linear regression, feature engineering, and regularization.
- Linear regression (from scratch and with scikit-learn)
- Exploratory data analysis
- Feature engineering
- Regularization techniques
- Model validation
[Module 3: Machine Learning for Classification](03-classification/)
Create a customer churn prediction system using logistic regression and learn about feature selection.
- Logistic regression
- Feature importance and selection
- Categorical variable encoding
- Model interpretation
[Module 4: Evaluation Metrics for Classification](04-evaluation/)
Learn how to properly evaluate classification models and handle imbalanced datasets.
- Accuracy, precision, recall, F1-score
- ROC curves and AUC
- Cross-validation
- Confusion matrices
- Class imbalance handling
[Module 5: Deploying Machine Learning Models](05-deployment/)
Turn your models into web services and deploy them with Docker and cloud platforms.
- Model serialization with Pickle
- FastAPI web services
- Docker containerization
- Cloud deployment
[Module 6: Decision Trees & Ensemble Learning](06-trees/)
Learn tree-based models and ensemble methods for better predictions.
- Decision trees
- Random Forest
- Gradient boosting (XGBoost)
- Hyperparameter tuning
- Feature importance
[Midterm Project](projects/)
Apply Modules 1-6 in an end-to-end project: pick a dataset, train a model, and deploy it as a web service.
[Module 8: Neural Networks & Deep Learning](08-deep-learning/)
Introduction to neural networks using TensorFlow and Keras, including CNNs and transfer learning.
- Neural network fundamentals
- PyTorch
- TensorFlow & Keras
- Convolutional Neural Networks
- Transfer learning
- Model optimization
[Module 9: Serverless Deep Learning](09-serverless/)
Deploy deep learning models using serverless technologies like AWS Lambda.
- Serverless concepts
- Deploying Scikit-Learn models with AWS Lambda
- Deploying TensorFlow and PyTorch models with AWS Lambda
- API Gateway
[Module 10: Kubernetes & TensorFlow Serving](10-kubernetes/)
Learn to serve ML models at scale using Kubernetes and TensorFlow Serving.
- Kubernetes basics
- TensorFlow Serving
- Model deployment and scaling
- Load balancing
[Capstone Project 1](projects/)
A larger end-to-end project at the end of the course, after Module 10.
[Capstone Project 2](projects/)
An optional second capstone, which together with the midterm or first capstone counts toward your two required projects.
Projects
Choose a problem that interests you, find a suitable dataset, develop your model, and deploy it as a web service.
There will be 3 projects:
- Midterm Project after Module 6: Decision Trees & Ensemble Learning
- Capstone project 1 at the end of the course, after Module 10: Kubernetes & TensorFlow Serving
- Capstone project 2 at the end of the course, after Module 10: Kubernetes & TensorFlow Serving
These projects allow you to apply everything you've learned and make a great addition to your GitHub profile and portfolio.
Project Examples from Past Cohorts
Some of the course projects from past cohorts:
- Blood cell classifier for cancer prediction: an end-to-end tool that segments and classifies blood cells from microscope images to assist in detecting signs of acute lymphoblastic leukemia (ALL)
- Waste classifier: an Xception-based image classifier on ~15,000 waste images, reaching 93.3% test accuracy, and serving predictions via a Flask API packaged in Docker
Certificate
To receive a certificate, you'll need to complete and submit two projects:
- Complete two projects: submit either a midterm project and a capstone project, OR two capstone projects
- Submit on time: meet the project submission deadlines to qualify for certification
- Peer review: evaluate and provide feedback on 3 fellow students' projects during the peer review process
See the certificate guide for how the certificate is issued and how to add it to LinkedIn.
Testimonials
Machine Learning Zoomcamp was exhaustive, with very comprehensive content that covered concepts in depth. You can learn everything from the simplest concepts to preparing and deploying an ML model for production. Additionally, the entire community behind this course is highly participative and collaborative. I would like to thank Alexey Grigorev for all the knowledge he shared with us and his team for providing the support we needed to solve each problem we faced.
Machine Learning Zoomcamp has been an incredible journey, thanks to the expert guidance of Alexey Grigorev. Hugely grateful to Alexey, Timur, and the entire DataTalksClub team for this course, and to my cohort batchmates for the invaluable support that enriched my learning experience. I'm thankful for this programme, which provided challenging coursework that is taught in a very structured and lucid way. The timely assignments & hands-on projects instill the sense of timely delivery, besides equipping us with practical acumen to solve real-life problems.
Balancing the intensive Machine Learning Zoomcamp with my other engagements was no easy task, but the experience deepened my expertise in machine learning engineering, reinforced my passion for ML deployment and cloud technologies, and strengthened my resilience in handling real-world ML challenges. Thank you, Alexey Grigorev, for this course!
Highly recommend the ML Zoomcamp for anyone wanting a structured path to production-ready machine learning. A big thank you - Alexey Grigorev and to the team at DataTalksClub for providing such a well-structured and engaging course.
A huge thank you to Alexey Grigoriev for creating such an amazing courseโand making it free! It's truly inspiring.
Huge thanks to Alexey Grigorev and the DataTalksClub community for the incredible support and clarity throughout. The open-source spirit and collaborative notes made the learning experience even richer.
Community & Support
Getting Help on Slack
Join the #course-ml-zoomcamp channel on DataTalks.Club Slack for discussions, troubleshooting, and networking.
To keep discussions organized:
- Check the FAQ first.
- Follow our question guidelines when posting questions.
- Review the community guidelines.
Learning in Public
We encourage sharing your progress! Write blog posts, create videos, and post on social media with #mlzoomcamp. It helps you learn better and builds your professional network. You can also earn extra points for sharing your learning experience publicly.
Learn more: Learning in Public.
Sponsors
Interested in sponsoring? Contact [email protected].
FAQ
A few common questions. For everything else, see the full Machine Learning Zoomcamp FAQ.
Q: Is this course really free?
A: Yes. All videos, materials, and homework are free and open-source.
Q: Do I need prior machine learning experience?
A: No. The course starts from the basics. You just need about a year of programming experience and comfort with the command line.
Q: What does "live cohort" mean? Are there live classes?
A: No mandatory live classes. All lectures are pre-recorded. "Live" means deadlines, scored homework, a leaderboard, peer review, and certificate eligibility.
Q: Can I take it self-paced, and will I get a certificate?
A: Yes, you can start anytime. Certificates require completing two projects and the peer reviews during a live cohort.
About DataTalks.Club
All the activity at DataTalks.Club mainly happens on Slack. We post updates there and discuss different aspects of data, career questions, and more.
At DataTalks.Club, we organize online events, community activities, and free courses. You can learn more about what we do at DataTalks.Club docs.
File: 01-intro/README.md
1. Introduction to Machine Learning
- 1.1 Introduction to Machine Learning
- 1.2 ML vs Rule-Based Systems
- 1.3 Supervised Machine Learning
- 1.4 CRISP-DM
- 1.5 The Modelling Step (Model Selection Process)
- 1.6 Setting up the Environment
- 1.7 Introduction to NumPy
- 1.8 Linear Algebra Refresher
- 1.9 Introduction to Pandas
- 1.10 Summary
- 1.11 Homework
Community notes
Did you take notes? You can share them here (or in each unit separately)
- Notes by Ayoub Berdeddouch
- Notes from Sebastiรกn Ayala Ruano
- Notes from Alvaro Navas
- Notes from Luis Evaristo Caraballo de la Cruz
- Notes from Jon Areas
- Notes from Hareesh Tummala
- Notes from Peter Ernicke
- Notes from Josiah Adesola
- Notes by Kemal
- Notes by Maximilien Eyengue
- Notes by Mahrukh Tariq
- Notes by Revathy Ramalingam
- Add your notes here
File: 02-regression/README.md
2. Machine Learning for Regression
- 2.1 Car price prediction project
- 2.2 Data preparation
- 2.3 Exploratory data analysis
- 2.4 Setting up the validation framework
- 2.5 Linear regression
- 2.6 Linear regression: vector form
- 2.7 Training linear regression: Normal equation
- 2.8 Baseline model for car price prediction project
- 2.9 Root mean squared error
- 2.10 Using RMSE on validation data
- 2.11 Feature engineering
- 2.12 Categorical variables
- 2.13 Regularization
- 2.14 Tuning the model
- 2.15 Using the model
- 2.16 Car price prediction project summary
- 2.17 Explore more
- 2.18 Homework
Community notes
Did you take notes? You can share them here (or in each unit separately)
- Notes from Kwang Yang
- Notes from Sebastiรกn Ayala Ruano
- Notes from Ayoub Berdeddouch
- Notes from Alvaro Navas
- Notes from froukje
- Notes from Jon Areas
- Notes from Memoona Tahira
- Notes from Wesley Barreto
- Notes from Hareesh Tummala
- Notes from Anneysha Sarkar
- Notes from Peter Ernicke
- Notes from Marcos Benรญcio
- Notes from Oscar Garcia
- Notes from Maximilien Eyengue
- Notes from Kemal Dahha
- Cohort 2025 | Notes By Nitin Gupta
- Add your notes here
File: 03-classification/README.md
3. Machine Learning for Classification
- 3.1 Churn prediction project
- 3.2 Data preparation
- 3.3 Setting up the validation framework
- 3.4 EDA
- 3.5 Feature importance: Churn rate and risk ratio
- 3.6 Feature importance: Mutual information
- 3.7 Feature importance: Correlation
- 3.8 One-hot encoding
- 3.9 Logistic regression
- 3.10 Training logistic regression with Scikit-Learn
- 3.11 Model interpretation
- 3.12 Using the model
- 3.13 Summary
- 3.14 Explore more
- 3.15 Homework
Community notes
Did you take notes? You can share them here (or in each unit separately)
- Notes from Kwang Yang
- Notes from Jaime Hipรณlito Cabrera
- Notes from Sebastiรกn Ayala Ruano
- Notes from Nikhil Shrestha
- Default of Credit Card Clients (Additional Project) from Nikhil Shrestha
- Notes from Alvaro Navas
- Notes from froukje
- Notes from Hareesh Tummala
- Notes from Giorgos Verikios
- Notes from Memoona Tahira
- Notes from Marcos Benรญcio
- Notes from Oscar Garcia
- Notes from Peter Ernicke
- Notes from Kemal Dahha
- Notes from Maximilien Eyengue
- Cohort|2025 Notes BY Nitin Gupta
- Add your notes here
File: 04-evaluation/README.md
4. Evaluation Metrics for Classification
- 4.1 Evaluation metrics: session overview
- 4.2 Accuracy and dummy model
- 4.3 Confusion table
- 4.4 Precision and Recall
- 4.5 ROC Curves
- 4.6 ROC AUC
- 4.7 Cross-Validation
- 4.8 Summary
- 4.9 Explore more
- 4.10 Homework
Community notes
Did you take notes? You can share them here (or in each unit separately)
- Some cross-validation methods
- Notes from Kwang Yang
- Notes from Sebastiรกn Ayala Ruano
- Notes from Alvaro Navas
- Notes from froukje
- Notes from Hareesh Tummala
- Notes from Memoona Tahira
- Notes from Peter Ernicke
- Notes from Kemal Dahha
- Cohort|2025 notes by Nitin gupta
- Add your notes here
File: 05-deployment/README.md
5. Deploying Machine Learning Models
Note: these materials are partly outdated, which
is why we recorded a workshop that updates this module.
You will find the materials in the workshop/ folder
The theory in the module is still relevant, which is why we suggest you
to watch both the workshop and the module content. While watching
the module content, focus on the theory part. The practical
part is all covered in the workshop.
- 5.1 Intro / Session overview
- 5.2 Saving and loading the model
- 5.3 Web services: introduction to Flask
- 5.4 Serving the churn model with Flask
- 5.5 Python virtual environment: Pipenv
- 5.6 Environment management: Docker
- 5.7 Deployment to the cloud: AWS Elastic Beanstalk (optional)
- 5.8 Summary
- 5.9 Explore more
- 5.10 Homework
How to watch it:
- First, watch the units 5.1-5.6
- Then watch the workshop and do the practice
- Finally, do the homework
Community notes
Did you take notes? You can share them here (or in each unit separately)
- Notes from Alvaro Navas
- Docker notes
- Notes from froukje
- WSL + Docker notes
- Notes from Hareesh Tummala
- Notes about Docker
- Notes about Deployment, Pipenv, Flask, Docker by Oscar Garcia
- Notebook with commands for pipenv, flask, gunicorn, and Docker
- Notes from Peter Ernicke
- Notes from Kemal Dahha
- Notes from Williams Alnice
- Cohort 2025| Notes by Nitin Gupta
- Add your notes here
Deployment tutorials
- Using PythonAnywhere to host your Python Web App for free!!! (an an alternative to AWS/Azure/Google cloud)
- Deploy Churn Service on Heroku
- Installing and using pipenv and Docker on Intel Macs
- Azure Guide
- Add your tutorials here
File: 06-trees/README.md
6. Decision Trees and Ensemble Learning
- 6.1 Credit risk scoring project
- 6.2 Data cleaning and preparation
- 6.3 Decision trees
- 6.4 Decision tree learning algorithm
- 6.5 Decision trees parameter tuning
- 6.6 Ensemble learning and random forest
- 6.7 Gradient boosting and XGBoost
- 6.8 XGBoost parameter tuning
- 6.9 Selecting the best model
- 6.10 Summary
- 6.11 Explore more
- 6.12 Homework
Community notes
Did you take notes? You can share them here (or in each unit separately)
- Kwang Yang's Notes
- Alvaro Navas' Notes
- Notes from froukje
- Decision Trees and Ensembled Learning by Oscar Garcia
- Notes from Peter Ernicke
- Notes from Maximilien Eyengue
- Notes from Kemal Dahha
- Add your notes here
File: 08-deep-learning/README.md
8. Neural Networks and Deep Learning
Note: in the module we use TensorFlow+Keras. These videos
were recorded a while ago, and while they are still
relevant, PyTorch became the to-go framework for training
neural networks.
That's why we also re-recorded the content of this module
with PyTorch. You can find the materials in the pytorch/ folder.
We don't go over the theory in the PyTorch part. For that,
refer to the main module (the one that still uses Keras).
How to watch it:
- If you want to learn PyTorch only, watch the module content for the theory only and then follow along the content of the PyTorch part
- If you want to learn both (and have time), first do the module and then the PyTorch part
TensorFlow module videos:
- 8.1 Fashion classification
- 8.2 TensorFlow and Keras
- 8.3 Pre-trained convolutional neural networks
- 8.4 Convolutional neural networks
- 8.5 Transfer learning
- 8.6 Adjusting the learning rate
- 8.7 Checkpointing
- 8.8 Adding more layers
- 8.9 Regularization and dropout
- 8.10 Data augmentation
- 8.11 Training a larger model
- 8.12 Using the model
- 8.13 Summary
- 8.14 Explore more
- 8.15 Homework
Community notes
Did you take notes? You can share them here (or in each unit separately)
- Alvaro Navas' Notes
- Kwang Yang's Notes on PyTorch
- Notes from froukje
- Saturn Cloud setup
- Connecting Github, Saturn Cloud and local VSCode via SSH
- Gradio demonstration with Huggingface Space
- Hyperparameter Search With Keras-tuners
- Installation of tensorflow v2.14 in WSL2 and Ubuntu 22.04 with Nvidia GPU
- Notes from Peter Ernicke
- Notes from Kemal Dahha
- Notes from Maximilien Eyengue
- Notes from Revathy Ramalingam
- Add your notes here
File: 09-serverless/README.md
9. Serverless Deep Learning
Use the workshop for most of the content.
The content in the module still works, but most of it is outdated
and doesn't work with newer version of Python.
Check 9.1 and 9.2 for introduction, but for the rest of the module,
use the workshop materials. Also, unit 9.7 could still be relevant.
- 9.1 Introduction to Serverless
- 9.2 AWS Lambda
- (Outdated) 9.3 TensorFlow Lite
- (Outdated) 9.4 Preparing the code for Lambda
- (Outdated) 9.5 Preparing a Docker image
- (Outdated) 9.6 Creating the lambda function
- 9.7 API Gateway: exposing the lambda function
- 9.8 Summary
- 9.9 Explore more
- 9.10 Homework
Community notes
Did you take notes? You can share them here (or in each unit separately)
- Alvaro Navas' Notes
- Notes from froukje
- Notes from Memoona Tahira
- Notes from Oscar Garcia
- Notes from Peter Ernicke
- Notes from Maximilien Eyengue
- Add your notes here
File: 10-kubernetes/code/README.md
/* Detailed source-code truncated for AI context efficiency. */2. Official Technical Reference & Guides (DataTalksClub/docs)
DataTalks.Club Zoomcamps Notes
This website is currently under development and contains community-contributed notes and resources. Content is being actively added and improved by DataTalks.Club community.
| Course | Duration | Next Cohort | Description | Register | Repository |
|---|---|---|---|---|---|
| Machine Learning Zoomcamp | 16 weeks | September 15, 2025 | ML engineering with deployment focus covering regression, classification, deep learning, and practical projects | Register | |
| AI Dev Tools Zoomcamp | 6 weeks | November 18, 2025 | Modern AI development tools and workflows for building, testing, and deploying AI applications | Register | |
| Data Engineering Zoomcamp | 9 weeks | January 2026 | Complete data engineering bootcamp covering Docker, SQL, Terraform, GCP, Kafka, and Spark | Register | |
| MLOps Zoomcamp | 12 weeks | โ | Production ML systems & best practices including experiment tracking, model deployment, and monitoring | Register | |
| LLM Zoomcamp | 10 weeks | June 2026 | Large Language Models course covering fine-tuning, RAG systems, and LLM application development | Register | |
| Stock Market Analytics Zoomcamp | 8 weeks | April 2026 | Financial data analysis and algorithmic trading strategies using Python and modern analytics tools | Register |
Running Locally
This site is built with Rustkyll. To run it locally:
Using Make (recommended)
make install # Install dependencies (first time only)
make serve # Start the development server at http://localhost:4000Available make targets:
make help- Show all available targetsmake install- Download the pinned Rustkyll release binarymake serve- Start the Rustkyll development servermake serve-livereload- Start server with live reloadmake build- Build the site for productionmake clean- Remove generated files and caches
Manual commands
mkdir -p .bin
curl -fsSL -o .bin/rustkyll https://github.com/alexeygrigorev/rustkyll/releases/download/v0.4.6/rustkyll-linux-amd64
chmod +x .bin/rustkyll
.bin/rustkyll serveWhat's in this Repository
- Course Notes: Detailed notes from each course session
- Resources: Links to datasets, tools, and materials
- Tips & Tricks: Best practices and helpful hints
- Examples: Sample projects and implementations
About DataTalks.Club
DataTalks.Club of the biggest global online community of data enthusiasts with more than 79,000 members. We organize free online events, courses, and other community activities.
All the activity at DataTalks.Club mainly happens on Slack. We post updates there and discuss different aspects of data, career questions, and more.
At DataTalksClub, we organize online events, community activities, and free courses. You can learn more about what we do at DataTalksClub Community Navigation.
Contributing
We welcome contributions from the community! You can help by:
- Reporting Issues: Found an error or broken link? Let us know
- Improving Content: Submit pull requests with corrections or enhancements
- Adding Notes: Share your own course notes and insights
- Answering Questions: Help fellow learners in discussions
How to Contribute
- Fork this repository
- Create a new branch for your changes
- Make your improvements
- Submit a pull request with a clear description
Contact
- Alexey Grigorev: [email protected]: Founder and Community Lead
- Valeriia Kuka: [email protected]: Content Manager