You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
251 lines
30 KiB
251 lines
30 KiB
[](https://github.com/microsoft/ML-For-Beginners/blob/master/LICENSE)
|
|
[](https://GitHub.com/microsoft/ML-For-Beginners/graphs/contributors/)
|
|
[](https://GitHub.com/microsoft/ML-For-Beginners/issues/)
|
|
[](https://GitHub.com/microsoft/ML-For-Beginners/pulls/)
|
|
[](http://makeapullrequest.com)
|
|
|
|
[](https://GitHub.com/microsoft/ML-For-Beginners/watchers/)
|
|
[](https://GitHub.com/microsoft/ML-For-Beginners/network/)
|
|
[](https://GitHub.com/microsoft/ML-For-Beginners/stargazers/)
|
|
|
|
### 🌐 Multi-Language Support
|
|
|
|
#### Supported via GitHub Action (Automated & Always Up-to-Date)
|
|
|
|
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
|
|
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](./README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
|
|
|
|
> **Prefer to Clone Locally?**
|
|
>
|
|
> Dis repository get 50+ language translations wey dey increase di download size well well. To clone without di translations, use sparse checkout:
|
|
>
|
|
> **Bash / macOS / Linux:**
|
|
> ```bash
|
|
> git clone --filter=blob:none --sparse https://github.com/microsoft/ML-For-Beginners.git
|
|
> cd ML-For-Beginners
|
|
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
|
|
> ```
|
|
>
|
|
> **CMD (Windows):**
|
|
> ```cmd
|
|
> git clone --filter=blob:none --sparse https://github.com/microsoft/ML-For-Beginners.git
|
|
> cd ML-For-Beginners
|
|
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
|
|
> ```
|
|
>
|
|
> Dis one go give you everything wey you need to complete di course quick quick.
|
|
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
|
|
|
|
#### Join Our Community
|
|
|
|
[](https://discord.gg/nTYy5BXMWG)
|
|
|
|
We get Discord learn with AI series wey dey go on, learn more and join us for [Learn with AI Series](https://aka.ms/learnwithai/discord) from 18 - 30 September, 2025. You go get correct tips and tricks for using GitHub Copilot for Data Science.
|
|
|
|

|
|
|
|
# Machine Learning for Beginners - A Curriculum
|
|
|
|
> 🌍 Travel around di world as we dey explore Machine Learning thru world cultures 🌍
|
|
|
|
Cloud Advocates for Microsoft happy to offer 12-week, 26-lesson curriculum all about **Machine Learning**. For dis curriculum, you go learn about wetin people dey call **classic machine learning**, we go use mainly Scikit-learn as library and avoid deep learning, wey dey cover for our [AI for Beginners' curriculum](https://aka.ms/ai4beginners). Make you join dis lessons with our ['Data Science for Beginners' curriculum](https://aka.ms/ds4beginners) too.
|
|
|
|
Make you travel with us around di world as we dey apply dis classic techniques to data from many parts of di world. Every lesson get pre- and post-lesson quizzes, written instructions to complete di lesson, solution, assignment, and more. Our project-based way to teach fit help you learn well as you dey build, na the best way for new skills to hold tight.
|
|
|
|
**✍️ Big 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 content contributors**, especially Rishit Dagli, Muhammad Sakib Khan Inan, Rohan Raj, Alexandru Petrescu, Abhishek Jaiswal, Nawrin Tabassum, Ioan Samuila, and Snigdha Agarwal
|
|
|
|
**🤩 Extra thanks to Microsoft Student Ambassadors Eric Wanjau, Jasleen Sondhi, and Vidushi Gupta for our R lessons!**
|
|
|
|
# Getting Started
|
|
|
|
Follow all dis steps:
|
|
|
|
1. **Fork the Repository**: Click the "Fork" button for di top-right corner of dis page.
|
|
|
|
2. **Clone the Repository**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
|
|
|
|
> [Find all extra resources for dis course inside our Microsoft Learn collection](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
|
|
|
|
> 🔧 **Need help?** Check our [Troubleshooting Guide](TROUBLESHOOTING.md) for solutions to commonly yawa with installation, setup, and running lessons.
|
|
|
|
|
|
**[Students](https://aka.ms/student-page)**, to use dis curriculum, fork di full repo to your own GitHub account and finish the exercises by yourself or with your group:
|
|
|
|
- Start with pre-lecture quiz.
|
|
- Read the lecture and do di activities, stop and think for each knowledge check.
|
|
- Try create the projects by understanding the lessons instead of just running the solution code; but dat code dey for `/solution` folders for each project-based lesson.
|
|
- Do the post-lecture quiz.
|
|
- Complete the challenge.
|
|
- Finish the assignment.
|
|
- After you finish one lesson group, visit the [Discussion Board](https://github.com/microsoft/ML-For-Beginners/discussions) and "learn out loud" by filling di correct PAT rubric. 'PAT' na Progress Assessment Tool wey you fit fill to take your learning go further. You fit also react to others PATs so we fit learn together.
|
|
|
|
> For more study, we recommend say you follow these [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) modules and learning paths.
|
|
|
|
**Teachers**, we don [add some suggestions](for-teachers.md) on how to use dis curriculum.
|
|
|
|
---
|
|
|
|
## Video walkthroughs
|
|
|
|
Some lessons get short video form. You fit find all these inline for the lessons, or on the [ML for Beginners playlist for the Microsoft Developer YouTube channel](https://aka.ms/ml-beginners-videos) by clicking the image below.
|
|
|
|
[](https://aka.ms/ml-beginners-videos)
|
|
|
|
---
|
|
|
|
## Meet the Team
|
|
|
|
[](https://youtu.be/Tj1XWrDSYJU)
|
|
|
|
**Gif by** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
|
|
|
|
> 🎥 Click di image above make you watch video wey talk about di project and di people wey create am!
|
|
|
|
---
|
|
|
|
## Pedagogy
|
|
|
|
We choose two methods to teach while we dey build dis curriculum: make am hands-on **project-based** and make e get **plenty quizzes**. Plus, dis curriculum get common **theme** to make e dey make sense together.
|
|
|
|
As we make the content align with projects, e help students enjoy and remember better. Also, small quiz before class go prepare the mind of student to learn topic, while second quiz after class go help make e stick. Dis curriculum design to be flexible and fun, you fit take all or part. Di projects start small and dey get complex well by end of 12-week course. This curriculum get postscript on real-world Machine Learning applications, fit use am as extra credit or for discussion.
|
|
|
|
> Find our [Code of Conduct](CODE_OF_CONDUCT.md), [Contributing](CONTRIBUTING.md), [Translations](..), and [Troubleshooting](TROUBLESHOOTING.md) guidelines. We dey wait for your constructive feedback!
|
|
|
|
## Each lesson get
|
|
|
|
- optional sketchnote
|
|
- optional supplemental video
|
|
- video walkthrough (only some lessons)
|
|
- [pre-lecture warmup quiz](https://ff-quizzes.netlify.app/en/ml/)
|
|
- written lesson
|
|
- for project-based lessons, step-by-step guides on how to build the project
|
|
- knowledge checks
|
|
- challenge
|
|
- extra reading
|
|
- assignment
|
|
- [post-lecture quiz](https://ff-quizzes.netlify.app/en/ml/)
|
|
> **One note about languages**: Dem write most of dis lessons for Python, but plenti dey available for R too. If you want complete one R lesson, waka go the `/solution` folder and find R lessons. Dem get .rmd extension wey mean **R Markdown** file we fit talk sey na how you go put `code chunks` (wey fit be R or other languages) and one `YAML header` (wey dey guide how outputs go be like PDF) for inside one `Markdown document`. So e mean sey e good framework for data science because e allow you join your code, wetin e produce, and your brain thoughts by make you fit write dem down for Markdown. Plus, R Markdown documents fit turn into output formats like PDF, HTML, or Word.
|
|
|
|
> **One note about quizzes**: All quizzes dey for [Quiz App folder](../../quiz-app), plenti 52 quizzes wit three question each. Dem connect inside the lessons but quiz app fit run for your computer; follow the instruction wey dey the `quiz-app` folder to run am local or put am for Azure.
|
|
|
|
| Lesson Number | Topic | Lesson Grouping | Learning Objectives | Linked Lesson | Author |
|
|
| :-----------: | :------------------------------------------------------------: | :-------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: |
|
|
| 01 | Introduction to machine learning | [Introduction](1-Introduction/README.md) | Learn the basic concepts behind machine learning | [Lesson](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
|
|
| 02 | The History of machine learning | [Introduction](1-Introduction/README.md) | Learn the history underlying this field | [Lesson](1-Introduction/2-history-of-ML/README.md) | Jen and Amy |
|
|
| 03 | Fairness and machine learning | [Introduction](1-Introduction/README.md) | Wetin be the important philosophical tins about fairness we students suppose consider when dem dey build and use ML models? | [Lesson](1-Introduction/3-fairness/README.md) | Tomomi |
|
|
| 04 | Techniques for machine learning | [Introduction](1-Introduction/README.md) | Wetin kind techniques ML researchers dey use to build ML models? | [Lesson](1-Introduction/4-techniques-of-ML/README.md) | Chris and Jen |
|
|
| 05 | Introduction to regression | [Regression](2-Regression/README.md) | Start to work with Python and Scikit-learn for regression models | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
|
|
| 06 | North American pumpkin prices 🎃 | [Regression](2-Regression/README.md) | See and clean data well well to prepare for ML | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
|
|
| 07 | North American pumpkin prices 🎃 | [Regression](2-Regression/README.md) | Build linear and polynomial regression models | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen and Dmitry • Eric Wanjau |
|
|
| 08 | North American pumpkin prices 🎃 | [Regression](2-Regression/README.md) | Build one logistic regression model | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
|
|
| 09 | A Web App 🔌 | [Web App](3-Web-App/README.md) | Build web app wey you fit use your trained model | [Python](3-Web-App/1-Web-App/README.md) | Jen |
|
|
| 10 | Introduction to classification | [Classification](4-Classification/README.md) | Clean, prep, and show your data graph; introduction to classification | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen and Cassie • Eric Wanjau |
|
|
| 11 | Delicious Asian and Indian cuisines 🍜 | [Classification](4-Classification/README.md) | Introduction to classifiers | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen and Cassie • Eric Wanjau |
|
|
| 12 | Delicious Asian and Indian cuisines 🍜 | [Classification](4-Classification/README.md) | More classifiers | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen and Cassie • Eric Wanjau |
|
|
| 13 | Delicious Asian and Indian cuisines 🍜 | [Classification](4-Classification/README.md) | Build recommender web app using your model | [Python](4-Classification/4-Applied/README.md) | Jen |
|
|
| 14 | Introduction to clustering | [Clustering](5-Clustering/README.md) | Clean, prepare, and show your data graph; Introduction to clustering | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
|
|
| 15 | Exploring Nigerian Musical Tastes 🎧 | [Clustering](5-Clustering/README.md) | Explore the K-Means clustering method | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
|
|
| 16 | Introduction to natural language processing ☕️ | [Natural language processing](6-NLP/README.md) | Learn the basics about NLP by building one simple bot | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
|
|
| 17 | Common NLP Tasks ☕️ | [Natural language processing](6-NLP/README.md) | Make your NLP knowledge strong by understanding common tasks wey dey when you dey deal with language structures | [Python](6-NLP/2-Tasks/README.md) | Stephen |
|
|
| 18 | Translation and sentiment analysis ♥️ | [Natural language processing](6-NLP/README.md) | Translation and sentiment analysis with Jane Austen | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
|
|
| 19 | Romantic hotels of Europe ♥️ | [Natural language processing](6-NLP/README.md) | Sentiment analysis with hotel reviews 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
|
|
| 20 | Romantic hotels of Europe ♥️ | [Natural language processing](6-NLP/README.md) | Sentiment analysis with hotel reviews 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
|
|
| 21 | Introduction to time series forecasting | [Time series](7-TimeSeries/README.md) | Introduction to time series forecasting | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
|
|
| 22 | ⚡️ World Power Usage ⚡️ - time series forecasting with ARIMA | [Time series](7-TimeSeries/README.md) | Time series forecasting with ARIMA | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
|
|
| 23 | ⚡️ World Power Usage ⚡️ - time series forecasting with SVR | [Time series](7-TimeSeries/README.md) | Time series forecasting with Support Vector Regressor | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
|
|
| 24 | Introduction to reinforcement learning | [Reinforcement learning](8-Reinforcement/README.md) | Introduction to reinforcement learning with Q-Learning | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
|
|
| 25 | Help Peter avoid the wolf! 🐺 | [Reinforcement learning](8-Reinforcement/README.md) | Reinforcement learning Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
|
|
| Postscript | Real-World ML scenarios and applications | [ML in the Wild](9-Real-World/README.md) | Interesting and clear real-world uses of classical ML | [Lesson](9-Real-World/1-Applications/README.md) | Team |
|
|
| Postscript | Model Debugging in ML using RAI dashboard | [ML in the Wild](9-Real-World/README.md) | Model Debugging in Machine Learning using Responsible AI dashboard components | [Lesson](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
|
|
|
|
> [find all additional resources for this course in our Microsoft Learn collection](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
|
|
|
|
## Offline access
|
|
|
|
You fit run this documentation offline by using [Docsify](https://docsify.js.org/#/). Fork dis repo, [install Docsify](https://docsify.js.org/#/quickstart) for your local machine, then for the root folder of this repo, type `docsify serve`. The website go dey for port 3000 for your localhost: `localhost:3000`.
|
|
|
|
## PDFs
|
|
|
|
Find pdf of the curriculum wit links [here](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf).
|
|
|
|
|
|
## 🎒 Other Courses
|
|
|
|
Our team dey produce other courses! Look:
|
|
|
|
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
|
|
### LangChain
|
|
[](https://aka.ms/langchain4j-for-beginners)
|
|
[](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
|
|
[](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
|
|
---
|
|
|
|
### Azure / Edge / MCP / Agents
|
|
[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
|
|
[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
|
|
[](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
|
|
[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
|
|
|
|
---
|
|
|
|
### Generative AI Series
|
|
[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
|
|
[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
|
|
[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
|
|
[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
|
|
|
|
---
|
|
|
|
### Core Learning
|
|
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
|
|
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
|
|
[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
|
|
[](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
|
|
[](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
|
|
[](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
|
|
[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
|
|
|
|
---
|
|
|
|
### Copilot Series
|
|
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
|
|
[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
|
|
[](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
|
|
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
|
|
|
|
## Getting Help
|
|
|
|
If you get stuck or get questions as you dey learn Machine Learning or dey build AI applications, no worry — help dey.
|
|
|
|
You fit join discussions with oda learners and developers, ask question, and share your ideas with di community.
|
|
|
|
- Join di community to ask questions and learn with oda people
|
|
- Discuss Machine Learning concepts and project ideas
|
|
- Get guidance from experienced developers
|
|
|
|
Supportive community na beta way to grow your skills and solve problems quick.
|
|
|
|
[Microsoft Foundry Discord Community](https://discord.gg/nTYy5BXMWG)
|
|
|
|
If you find bugs, errors, or get suggestions for improvements, you fit open **Issue** for this repository to report di problem.
|
|
|
|
For product feedback or to find existing community posts, visit di Developer Forum:
|
|
|
|
[](https://aka.ms/foundry/forum)
|
|
|
|
## Additional Learning Tips
|
|
|
|
- Review notebooks after each lesson to understand better.
|
|
- Practice to implement algorithms by yourself.
|
|
- Explore real-world datasets using wetin you don learn.
|
|
|
|
---
|
|
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
|
|
**Disclaimer**:
|
|
Dis document don translate wit AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). Even as we dey try make am correct, abeg sabi say automated translations fit get errors or wahala. Di original document for e own language na di real authority. For important information, na professional human translation better. We no dey responsible for any wahala or wrong understanding wey fit come from dis translation use.
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER END --> |