25 KiB
🌐 Multi-Language Support
Supported via GitHub Action (Automated & Always Up-to-Date)
French | Spanish | German | Russian | Arabic | Persian (Farsi) | Urdu | Chinese (Simplified) | Chinese (Traditional, Macau) | Chinese (Traditional, Hong Kong) | Chinese (Traditional, Taiwan) | Japanese | Korean | Hindi | Bengali | Marathi | Nepali | Punjabi (Gurmukhi) | Portuguese (Portugal) | Portuguese (Brazil) | Italian | Polish | Turkish | Greek | Thai | Swedish | Danish | Norwegian | Finnish | Dutch | Hebrew | Vietnamese | Indonesian | Malay | Tagalog (Filipino) | Swahili | Hungarian | Czech | Slovak | Romanian | Bulgarian | Serbian (Cyrillic) | Croatian | Slovenian | Ukrainian | Burmese (Myanmar)
Join Our Community
We have a Discord Learn with AI series ongoing. Learn more and join us at Learn with AI Series from September 18–30, 2025. You'll get tips and tricks for using GitHub Copilot for Data Science.
Machine Learning for Beginners - A Curriculum
🌍 Travel around the world as we explore Machine Learning through world cultures 🌍
Microsoft's Cloud Advocates are excited to present a 12-week, 26-lesson curriculum focused on Machine Learning. This curriculum introduces you to classic machine learning, primarily using the Scikit-learn library, while avoiding deep learning (covered in our AI for Beginners' curriculum). Pair these lessons with our 'Data Science for Beginners' curriculum for a comprehensive learning experience!
Join us on a journey around the globe as we apply these techniques to datasets from various regions. Each lesson includes pre- and post-lesson quizzes, step-by-step instructions, solutions, assignments, and more. Our project-based approach ensures you learn by building, a proven method for retaining new skills.
✍️ Special thanks to our authors Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu, and Amy Boyd
🎨 Thanks to our illustrators Tomomi Imura, Dasani Madipalli, and Jen Looper
🙏 Special thanks 🙏 to our Microsoft Student Ambassador authors, reviewers, and contributors, including Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila, and Snigdha Agarwal
🤩 Extra gratitude to Microsoft Student Ambassadors Eric Wanjau, Jasleen Sondhi, and Vidushi Gupta for our R lessons!
Getting Started
Follow these steps:
- Fork the Repository: Click the "Fork" button at the top-right corner of this page.
- Clone the Repository:
git clone https://github.com/microsoft/ML-For-Beginners.git
Find additional resources for this course in our Microsoft Learn collection
Students, to use this curriculum, fork the entire repo to your GitHub account and complete the exercises individually or in groups:
- Start with a pre-lecture quiz.
- Read the lecture and complete the activities, pausing to reflect at each knowledge check.
- Try building the projects by understanding the lessons rather than running the solution code (available in the
/solution
folders for project-based lessons). - Take the post-lecture quiz.
- Complete the challenge.
- Finish the assignment.
- After completing a lesson group, visit the Discussion Board and "learn out loud" by filling out the appropriate PAT rubric. A 'PAT' (Progress Assessment Tool) is a rubric to further your learning. You can also engage with other PATs to learn collaboratively.
For further study, we recommend exploring these Microsoft Learn modules and learning paths.
Teachers, we have included some suggestions on how to use this curriculum.
Video walkthroughs
Some lessons are available as short-form videos. You can find these embedded in the lessons or on the ML for Beginners playlist on the Microsoft Developer YouTube channel by clicking the image below.
Meet the Team
Gif by Mohit Jaisal
🎥 Click the image above for a video about the project and the team behind it!
Pedagogy
This curriculum is built on two pedagogical principles: hands-on project-based learning and frequent quizzes. Additionally, it follows a common theme for cohesion.
By aligning content with projects, the learning process becomes more engaging, and concept retention improves. Low-stakes quizzes before a class set the student's intention for learning, while post-class quizzes reinforce retention. This curriculum is designed to be flexible and enjoyable, allowing students to take it in full or in part. Projects start small and grow in complexity over the 12-week cycle. A postscript on real-world ML applications is included for extra credit or discussion.
Find our Code of Conduct, Contributing, and Translation guidelines. We welcome your constructive feedback!
Each lesson includes
- Optional sketchnote
- Optional supplemental video
- Video walkthrough (some lessons only)
- Pre-lecture warmup quiz
- Written lesson
- Step-by-step guides for project-based lessons
- Knowledge checks
- A challenge
- Supplemental reading
- Assignment
- Post-lecture quiz
A note about languages: Lessons are primarily written in Python, but many are also available in R. To complete an R lesson, go to the
/solution
folder and look for R lessons. These include an.rmd
extension, representing R Markdown files. R Markdown combines code chunks (R or other languages), a YAML header (for formatting outputs like PDFs), and Markdown text. It’s an excellent framework for data science, allowing you to integrate code, output, and commentary. R Markdown documents can be rendered into formats like PDF, HTML, or Word.
A note about quizzes: All quizzes are in the Quiz App folder, totaling 52 quizzes with three questions each. They are linked within lessons but can also be run locally. Follow the instructions in the
quiz-app
folder to host locally or deploy to Azure.
Lesson Number | Topic | Lesson Grouping | Learning Objectives | Linked Lesson | Author |
---|---|---|---|---|---|
01 | Introduction to machine learning | Introduction | Learn the basic concepts behind machine learning | Lesson | Muhammad |
02 | The History of machine learning | Introduction | Learn the history underlying this field | Lesson | Jen and Amy |
03 | Fairness and machine learning | Introduction | What are the key philosophical considerations about fairness that students should keep in mind when developing and using ML models? | Lesson | Tomomi |
04 | Techniques for machine learning | Introduction | What methods do ML researchers use to create ML models? | Lesson | Chris and Jen |
05 | Introduction to regression | Regression | Learn the basics of Python and Scikit-learn for regression models | Python • R | Jen • Eric Wanjau |
06 | North American pumpkin prices 🎃 | Regression | Visualize and clean data to prepare for ML | Python • R | Jen • Eric Wanjau |
07 | North American pumpkin prices 🎃 | Regression | Create linear and polynomial regression models | Python • R | Jen and Dmitry • Eric Wanjau |
08 | North American pumpkin prices 🎃 | Regression | Develop a logistic regression model | Python • R | Jen • Eric Wanjau |
09 | A Web App 🔌 | Web App | Build a web application to utilize your trained model | Python | Jen |
10 | Introduction to classification | Classification | Clean, prepare, and visualize your data; introduction to classification | Python • R | Jen and Cassie • Eric Wanjau |
11 | Delicious Asian and Indian cuisines 🍜 | Classification | Introduction to classifiers | Python • R | Jen and Cassie • Eric Wanjau |
12 | Delicious Asian and Indian cuisines 🍜 | Classification | Additional classifiers | Python • R | Jen and Cassie • Eric Wanjau |
13 | Delicious Asian and Indian cuisines 🍜 | Classification | Create a recommender web app using your model | Python | Jen |
14 | Introduction to clustering | Clustering | Clean, prepare, and visualize your data; introduction to clustering | Python • R | Jen • Eric Wanjau |
15 | Exploring Nigerian Musical Tastes 🎧 | Clustering | Learn about the K-Means clustering method | Python • R | Jen • Eric Wanjau |
16 | Introduction to natural language processing ☕️ | Natural language processing | Understand the basics of NLP by creating a simple bot | Python | Stephen |
17 | Common NLP Tasks ☕️ | Natural language processing | Expand your NLP knowledge by exploring common tasks involved in processing language structures | Python | Stephen |
18 | Translation and sentiment analysis ♥️ | Natural language processing | Perform translation and sentiment analysis using Jane Austen's works | Python | Stephen |
19 | Romantic hotels of Europe ♥️ | Natural language processing | Sentiment analysis with hotel reviews (Part 1) | Python | Stephen |
20 | Romantic hotels of Europe ♥️ | Natural language processing | Sentiment analysis with hotel reviews (Part 2) | Python | Stephen |
21 | Introduction to time series forecasting | Time series | Learn the basics of time series forecasting | Python | Francesca |
22 | ⚡️ World Power Usage ⚡️ - time series forecasting with ARIMA | Time series | Time series forecasting using ARIMA | Python | Francesca |
23 | ⚡️ World Power Usage ⚡️ - time series forecasting with SVR | Time series | Time series forecasting using Support Vector Regressor | Python | Anirban |
24 | Introduction to reinforcement learning | Reinforcement learning | Learn the basics of reinforcement learning with Q-Learning | Python | Dmitry |
25 | Help Peter avoid the wolf! 🐺 | Reinforcement learning | Reinforcement learning with Gym | Python | Dmitry |
Postscript | Real-World ML scenarios and applications | ML in the Wild | Fascinating and insightful real-world applications of classical ML | Lesson | Team |
Postscript | Model Debugging in ML using RAI dashboard | ML in the Wild | Debugging ML models using Responsible AI dashboard components | Lesson | Ruth Yakubu |
Find all additional resources for this course in our Microsoft Learn collection
Offline access
You can access this documentation offline using Docsify. Fork this repository, install Docsify on your local machine, and then in the root folder of this repository, type docsify serve
. The website will be available on port 3000 at localhost:3000
.
PDFs
Download a PDF version of the curriculum with links here.
🎒 Other Courses
Our team offers other courses! Check out:
- Edge AI for Beginners
- AI Agents for Beginners
- Generative AI for Beginners
- Generative AI for Beginners .NET
- Generative AI with JavaScript
- Generative AI with Java
- AI for Beginners
- Data Science for Beginners
- ML for Beginners
- Cybersecurity for Beginners
- Web Dev for Beginners
- IoT for Beginners
- XR Development for Beginners
- Mastering GitHub Copilot for Paired Programming
- Mastering GitHub Copilot for C#/.NET Developers
- Choose Your Own Copilot Adventure
Disclaimer:
This document has been translated using the AI translation service Co-op Translator. While we aim for accuracy, please note that automated translations may contain errors or inaccuracies. The original document in its native language should be regarded as the authoritative source. For critical information, professional human translation is recommended. We are not responsible for any misunderstandings or misinterpretations resulting from the use of this translation.