|
|
6 months ago | |
|---|---|---|
| .. | ||
| 1-Introduction | 6 months ago | |
| 2-Regression | 6 months ago | |
| 3-Web-App | 6 months ago | |
| 4-Classification | 6 months ago | |
| 5-Clustering | 6 months ago | |
| 6-NLP | 6 months ago | |
| 7-TimeSeries | 6 months ago | |
| 8-Reinforcement | 6 months ago | |
| 9-Real-World | 6 months ago | |
| docs | 6 months ago | |
| quiz-app | 6 months ago | |
| sketchnotes | 6 months ago | |
| CODE_OF_CONDUCT.md | 6 months ago | |
| CONTRIBUTING.md | 6 months ago | |
| PyTorch_Fundamentals.ipynb | 6 months ago | |
| README.md | 6 months ago | |
| SECURITY.md | 6 months ago | |
| SUPPORT.md | 6 months ago | |
| for-teachers.md | 6 months 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 the Community
Machine Learning for Beginners - A Curriculum
🌍 Travel the world as we explore Machine Learning through the lens of global cultures 🌍
Microsoft's Cloud Advocates are excited to present a 12-week, 26-lesson curriculum focused on Machine Learning. This curriculum introduces you to what is often referred to as classic machine learning, primarily using the Scikit-learn library and steering clear of deep learning, which is 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 classic 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 that 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 their contributions 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 entire repository to your GitHub account and complete the exercises individually or in a group:
- Start with a pre-lecture quiz.
- Read the lecture and complete the activities, pausing to reflect during each knowledge check.
- Try to build the projects by understanding the lessons rather than simply running the solution code. However, solution code is available in the
/solutionfolders for each project-based lesson. - 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' is a Progress Assessment Tool that helps you reflect on your learning. You can also engage with other PATs to foster collaborative learning.
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 to watch a video about the project and the team behind it!
Pedagogy
This curriculum is built on two key pedagogical principles: it is hands-on project-based and includes frequent quizzes. Additionally, the curriculum is tied together by a common theme for cohesion.
By aligning the content with projects, the learning process becomes more engaging, and students are more likely to retain the concepts. Low-stakes quizzes before a lesson help set the stage for learning, while post-lesson quizzes reinforce understanding. This curriculum is designed to be flexible and enjoyable, allowing students to take it in full or in part. The projects start small and gradually increase in complexity over the 12-week period. A postscript on real-world ML applications is included, which can be used as extra credit or as a discussion starter.
Check out our Code of Conduct, Contributing, and Translation guidelines. We welcome your constructive feedback!
Each lesson includes
- Optional sketchnote
- Optional supplemental video
- Video walkthrough (for some lessons)
- Pre-lecture warmup quiz
- Written lesson
- For project-based lessons, step-by-step guides to build the project
- Knowledge checks
- A challenge
- Supplemental reading
- Assignment
- Post-lecture quiz
A note about languages: These lessons are primarily written in Python, but many are also available in R. To complete an R lesson, go to the
/solutionfolder and look for R lessons. These files have an.rmdextension, which stands for R Markdown. R Markdown allows you to combine code, its output, and your thoughts in a single document. It can be rendered into formats like PDF, HTML, or Word.
A note about quizzes: All quizzes are located in the Quiz App folder, with 52 quizzes in total, each containing three questions. Quizzes are linked within the lessons, but the quiz app can also be run locally. Follow the instructions in the
quiz-appfolder to host it locally or deploy it 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 important philosophical issues around fairness that students should consider when building and applying ML models? | Lesson | Tomomi |
| 04 | Machine Learning Techniques | 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 to prepare 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, 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 | 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, prepare, 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 insightful 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 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
Disclaimer:
This document has been translated using the AI translation service Co-op Translator. While we strive 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.

