|
3 days ago | |
---|---|---|
.. | ||
1-Introduction | 3 weeks ago | |
2-Regression | 3 weeks ago | |
3-Web-App | 3 weeks ago | |
4-Classification | 3 weeks ago | |
5-Clustering | 3 weeks ago | |
6-NLP | 3 weeks ago | |
7-TimeSeries | 3 weeks ago | |
8-Reinforcement | 3 weeks ago | |
9-Real-World | 3 weeks ago | |
docs | 3 weeks ago | |
quiz-app | 3 weeks ago | |
sketchnotes | 3 weeks ago | |
CODE_OF_CONDUCT.md | 3 weeks ago | |
CONTRIBUTING.md | 3 weeks ago | |
PyTorch_Fundamentals.ipynb | 3 weeks ago | |
README.md | 3 days ago | |
SECURITY.md | 3 weeks ago | |
SUPPORT.md | 3 weeks ago | |
for-teachers.md | 3 weeks ago |
README.md
🌐 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 an ongoing Discord series called "Learn with AI." Join us from September 18–30, 2025, to explore tips and tricks for using GitHub Copilot in Data Science.
Machine Learning for Beginners - A Curriculum
🌍 Embark on a global journey as we explore Machine Learning through the lens of 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 techniques, primarily using the Scikit-learn library, while steering clear of deep learning (covered in our AI for Beginners' curriculum). Pair these lessons with our 'Data Science for Beginners' curriculum for a comprehensive learning experience!
Travel with us across the globe as we apply these techniques to datasets from various regions. Each lesson includes quizzes, step-by-step instructions, solutions, assignments, and more. Our project-based approach ensures you learn by doing, a proven method for retaining new skills.
✍️ A big thank you 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
🎨 Special thanks to our illustrators Tomomi Imura, Dasani Madipalli, and Jen Looper
🙏 Heartfelt gratitude 🙏 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 appreciation to Microsoft Student Ambassadors Eric Wanjau, Jasleen Sondhi, and Vidushi Gupta for contributing to 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 repository to your GitHub account and complete the exercises individually or in groups:
- Begin with a pre-lecture quiz.
- Read the lecture and complete the activities, pausing for reflection at each knowledge check.
- Build the projects by understanding the lessons rather than relying on 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 share your learning using the PAT rubric. A 'PAT' (Progress Assessment Tool) helps you assess your progress and encourages collaborative learning.
For further study, explore 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 videos. You can find them 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 to watch a video about the project and the team behind it!
Pedagogy
This curriculum is built on two key 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 concepts are easier to retain. Low-stakes quizzes before and after lessons help reinforce learning. The curriculum is flexible and fun, allowing students to take it in full or in part. Projects start simple and grow in complexity over the 12-week cycle. A postscript on real-world ML applications is included for extra credit or discussion.
Check out our Code of Conduct, Contributing, and Translation guidelines. We welcome your feedback!
Each lesson includes
- optional sketchnote
- optional supplemental video
- video walkthrough (some lessons only)
- pre-lecture warmup quiz
- written lesson
- for project-based lessons, step-by-step guides on how to build the project
- 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 files with the .rmd extension. These are R Markdown files, which combine code, output, and commentary in a single document. R Markdown documents can be rendered into formats like PDF, HTML, or Word, making them ideal for data science.
A note about quizzes: All quizzes are located in the Quiz App folder, with 52 quizzes containing three questions each. They are linked within the lessons but can also be run locally. Follow the instructions in the
quiz-app
folder to host them 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 issues around fairness that students should consider when developing and applying ML models? | Lesson | Tomomi |
04 | Techniques for machine learning | Introduction | What techniques do ML researchers use to create ML models? | Lesson | Chris and Jen |
05 | Introduction to regression | Regression | Get started with Python and Scikit-learn for regression models | Python • R | Jen • Eric Wanjau |
06 | North American pumpkin prices 🎃 | Regression | Visualize and clean data in preparation for ML | Python • R | Jen • Eric Wanjau |
07 | North American pumpkin prices 🎃 | Regression | Build linear and polynomial regression models | Python • R | Jen and Dmitry • Eric Wanjau |
08 | North American pumpkin prices 🎃 | Regression | Build a logistic regression model | Python • R | Jen • Eric Wanjau |
09 | A Web App 🔌 | Web App | Build a web app to use your trained model | Python | Jen |
10 | Introduction to classification | Classification | Clean, prep, 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 | More classifiers | Python • R | Jen and Cassie • Eric Wanjau |
13 | Delicious Asian and Indian cuisines 🍜 | Classification | Build a recommender web app using your model | Python | Jen |
14 | Introduction to clustering | Clustering | Clean, prep, and visualize your data; Introduction to clustering | Python • R | Jen • Eric Wanjau |
15 | Exploring Nigerian Musical Tastes 🎧 | Clustering | Explore the K-Means clustering method | Python • R | Jen • Eric Wanjau |
16 | Introduction to natural language processing ☕️ | Natural language processing | Learn the basics of NLP by building a simple bot | Python | Stephen |
17 | Common NLP Tasks ☕️ | Natural language processing | Deepen your NLP knowledge by understanding common tasks required when working with language structures | Python | Stephen |
18 | Translation and sentiment analysis ♥️ | Natural language processing | Translation and sentiment analysis with Jane Austen | Python | Stephen |
19 | Romantic hotels of Europe ♥️ | Natural language processing | Sentiment analysis with hotel reviews 1 | Python | Stephen |
20 | Romantic hotels of Europe ♥️ | Natural language processing | Sentiment analysis with hotel reviews 2 | Python | Stephen |
21 | Introduction to time series forecasting | Time series | Introduction to time series forecasting | Python | Francesca |
22 | ⚡️ World Power Usage ⚡️ - time series forecasting with ARIMA | Time series | Time series forecasting with ARIMA | Python | Francesca |
23 | ⚡️ World Power Usage ⚡️ - time series forecasting with SVR | Time series | Time series forecasting with Support Vector Regressor | Python | Anirban |
24 | Introduction to reinforcement learning | Reinforcement learning | Introduction to reinforcement learning with Q-Learning | Python | Dmitry |
25 | Help Peter avoid the wolf! 🐺 | Reinforcement learning | Reinforcement learning Gym | Python | Dmitry |
Postscript | Real-World ML scenarios and applications | ML in the Wild | Interesting and revealing real-world applications of classical ML | Lesson | Team |
Postscript | Model Debugging in ML using RAI dashboard | ML in the Wild | Model Debugging in Machine Learning using Responsible AI dashboard components | Lesson | Ruth Yakubu |
find all additional resources for this course in our Microsoft Learn collection
Offline access
You can run this documentation offline by using Docsify. Fork this repo, install Docsify on your local machine, and then in the root folder of this repo, type docsify serve
. The website will be served on port 3000 on your localhost: localhost:3000
.
PDFs
Find a pdf of the curriculum with links here.
🎒 Other Courses
Our team produces other courses! Check out:
- 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