Arabic | Bengali | Bulgarian | Burmese (Myanmar) | Chinese (Simplified) | Chinese (Traditional, Hong Kong) | Chinese (Traditional, Macau) | Chinese (Traditional, Taiwan) | Croatian | Czech | Danish | Dutch | Estonian | Finnish | French | German | Greek | Hebrew | Hindi | Hungarian | Indonesian | Italian | Japanese | Kannada | Korean | Lithuanian | Malay | Malayalam | Marathi | Nepali | Nigerian Pidgin | Norwegian | Persian (Farsi) | Polish | Portuguese (Brazil) | Portuguese (Portugal) | Punjabi (Gurmukhi) | Romanian | Russian | Serbian (Cyrillic) | Slovak | Slovenian | Spanish | Swahili | Swedish | Tagalog (Filipino) | Tamil | Telugu | Thai | Turkish | Ukrainian | Urdu | Vietnamese
You prefer make you Clone am for your local machine?
Dis repo get more than 50 language translation wey go make di download big well-well. If you wan clone without di translations, use sparse checkout:
Bash / macOS / Linux:
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):
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 you need to finish di course quick-quick.
We get one Discord "learn with AI" series wey dey go on, learn more and join us for Learn with AI Series from 18 - 30 September, 2025. You go fit collect tips and now-how for how to use GitHub Copilot for Data Science.
🌍 Make we waka all around di world as we dey explore Machine Learning through different world cultures 🌍
Cloud Advocates for Microsoft dey happy to offer one 12-week, 26-lesson curriculum wey dey all about Machine Learning. For this curriculum, you go learn about wetin dem dey call sometimes classic machine learning, we go mainly use Scikit-learn as library and avoid deep learning, wey dem cover for our AI for Beginners' curriculum. Combine this lessons with our 'Data Science for Beginners' curriculum, too!
Make you waka with us round di world as we take these classic techniques apply to data from plenty areas for di world. Every lesson get pre- and post-lesson quizzes, written instructions to finish the lesson, solution, assignment, and plenty more. Our project-based way to teach dey help you learn as you build, na better way to make new skills dey stay for your head.
✍️ Big tori and 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 again 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 big thanks to Microsoft Student Ambassadors Eric Wanjau, Jasleen Sondhi, and Vidushi Gupta for our R lessons!
Follow these steps:
- Fork the Repository: Click the "Fork" button wey dey for di top-right corner of this page.
- Clone the Repository:
git clone https://github.com/microsoft/ML-For-Beginners.git
You go find all other materials for dis course for our Microsoft Learn collection
🔧 You need help? Check our Troubleshooting Guide for solutions to common wahala with installation, setup, and to run lessons.
Students, to use this curriculum, fork the whole repo to your own GitHub account and do the exercises your own or with group:
- Start with pre-lecture quiz.
- Read di lecture and complete di activities, stop sometimes and reflect at every knowledge check.
- Try make you create the projects by understanding di lessons rather than just running di solution code; but dat code dey available for the
/solutionfolders for each project-based lesson. - Take di post-lecture quiz.
- Finish di challenge.
- Finish di assignment.
- After you don finish one lesson group, go visit di Discussion Board and "learn out loud" by filling out di correct PAT rubric. PAT na Progress Assessment Tool wey be rubric wey you go fill to help your learning. You fit react to other PATs so we fit learn together.
For more study, we recommend sey you follow these Microsoft Learn modules and learning paths.
Teachers, we don put some suggestions on top how to use this curriculum.
Some lessons dey available as short form video. You fit find all of them inline for di lessons, or for di ML for Beginners playlist on di Microsoft Developer YouTube channel by clicking the image below.
Gif by Mohit Jaisal
🎥 Click di picture above for video about di project and di people wey create am!
We choose two main tinz wey we go dey follow while making this curriculum: make e hands-on project-based and make e get frequent quizzes. Plus, dis curriculum get one common theme to make e get connection.
By making sure sey di content match with projects, di process go be more interesting for students and e go help dem remember better. Plus, one low-stakes quiz before class dey set di student mind to learn topic, and the second quiz after class dey make dem remember more. This curriculum na flexible and fun, you fit do am complete or part-part. The projects start small and dem dey get more complex as di 12 weeks dey reach end. This curriculum also get one postscript about real-world ways to use ML, wey fit be extra credit or foundation for discussion.
Find our Code of Conduct, Contributing, Translation, and Troubleshooting guidelines. We dey happy to hear your constructive feedback!
- optional sketchnote
- optional additional video
- video walkthrough (only some lessons get am)
- pre-lecture warmup quiz
- written lesson
- for project-based lessons, step-by-step guides on how to build the project
- knowledge checks
- challenge
- supplemental reading
- assignment
- post-lecture quiz
One note about languages: These lessons mainly dem write for Python, but plenti sef dey available for R. To finish one R lesson, go the
/solutionfolder and find R lessons. Dem get .rmd extension wey mean R Markdown file wey fit be simply talk say na di joining ofcode chunks(we fit get for R or other languages) and oneYAML header(wey dey guide how outputs like PDF go be formatted) for oneMarkdown document. So e be like example authoring framework for data science because e go allow you put your code, di output, and your thoughts together by allowing you write am for Markdown. Plus, R Markdown documents fit get rendered to output formats like PDF, HTML, or Word.
One note about quizzes: All di quizzes dey for Quiz App folder, get 52 quizzes wey get three questions each. Dem link dem from inside di lessons but you fit run di quiz app local; just follow di instruction wey dey di
quiz-appfolder to run or deploy am 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 | Wetin be di important philosophical issues about fairness wey students suppose consider when dem dey build and use ML models? | Lesson | Tomomi |
| 04 | Techniques for machine learning | Introduction | Which techniques ML researchers dey use to build ML models? | Lesson | Chris and Jen |
| 05 | Introduction to regression | Regression | Start to waka for 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 one logistic regression model | Python • R | Jen • Eric Wanjau |
| 09 | A Web App 🔌 | Web App | Build 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 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 K-Means clustering method | Python • R | Jen • Eric Wanjau |
| 16 | Introduction to natural language processing ☕️ | Natural language processing | Learn di small-small basics about NLP by building one simple bot | Python | Stephen |
| 17 | Common NLP Tasks ☕️ | Natural language processing | Sharpen your NLP knowledge by understanding common tasks to do when you dey reason 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 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
You fit run this documentation offline using Docsify. Fork this repo, install Docsify for your local machine, then for di root folder of this repo, type docsify serve. Di website go dey serve for port 3000 for your localhost: localhost:3000.
Find pdf version of di curriculum with links here.
Our team dey produce other courses! Check am out:
If you get stuck or get any question about how to build AI apps. Join other learners and experience developers for talk about MCP. Na supportive community wey dey open for questions and knowledge dey share freely.
If you get product feedback or errors while you dey build, visit:
- Check your notebooks after every lesson to understand better.
- Try dey practice to implement algorithms by yourself.
- Explore real-world datasets using the things wey you learn.
Disclaimer: Dis document na AI translation service Co-op Translator translate am. Even though we try make am correct, abeg sabi say automated translation fit get wahala or mistakes. The original document for the original language be di correct source. If na important thing, e better make professional human translation do am. We no go responsible if person waka misunderstand or use dis translation wrong.


