首页
/ ML-For-Beginners:12 周 26 课经典机器学习课程体系的完整学习指南

ML-For-Beginners:12 周 26 课经典机器学习课程体系的完整学习指南

2026-09-06 12:54:26作者:管翌锬

本文围绕 ML-For-Beginners 仓库的根 README 展开,系统讲解这套 12 周、26 课、52 个测验的经典机器学习(classic machine learning)课程如何组织、如何学习、如何离线运行与本地部署。读完后你将掌握该课程从克隆、按周学习、完成项目到自托管测验应用与离线文档站点的完整实操路径。

课程定位:经典机器学习,主打 Scikit-learn

ML-For-Beginners 是一套由 Microsoft Cloud Advocates 出品的 12 周、26 课 的机器学习课程体系。它的核心定位是 经典机器学习:主要使用 Scikit-learn 作为核心库,明确不涵盖深度学习内容(深度学习由同团队的 AI for Beginners 课程覆盖)。课程以"环球旅行"为主题线索,把经典机器学习技术应用于世界不同地区的数据集:北美南瓜价格(回归)、亚洲与印度料理(分类)、尼日利亚音乐口味(聚类)、欧洲浪漫酒店评论(NLP)、世界电力消耗(时间序列)以及"帮 Peter 躲开狼"(强化学习)等,让每个技术模块都有真实数据场景支撑。

仓库根目录 README.md 中给出的课程规模是:12 weeks, 26 lessons, 52 quizzes。从仓库实际目录结构看,课程按 9 个主题模块组织:1-Introduction(导论)、2-Regression(回归)、3-Web-App(Web 应用)、4-Classification(分类)、5-Clustering(聚类)、6-NLP(自然语言处理)、7-TimeSeries(时间序列)、8-Reinforcement(强化学习)、9-Real-World(真实世界应用)。

快速开始:克隆仓库与精简下载

学习的第一步是克隆仓库。README 建议的标准流程是:

  1. Fork 仓库到你的 GitHub 账号;
  2. 执行 git clone 克隆到本地。

由于仓库包含 50 多种语言的翻译,完整克隆体积较大。README 提供了基于 sparse checkout 的精简方案,可以跳过 translationstranslated_images 两个大目录,显著加快下载速度:

Bash / macOS / Linux:

git clone --filter=blob:none --sparse https://gitcode.com/GitHub_Trending/ml/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://gitcode.com/GitHub_Trending/ml/ML-For-Beginners.git
cd ML-For-Beginners
git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"

其中 --filter=blob:none 表示按需拉取文件内容(blob),--no-cone 允许使用引号包裹的 glob 排除规则 !translations!translated_images。这套命令保留了完成课程所需的全部教材、代码与数据,只是省去了多语言翻译副本。

克隆完成后,如遇到安装、环境配置或运行课程时的问题,可查阅仓库根目录的 TROUBLESHOOTING.md;教师用户可参考 for-teachers.md 中的课程使用建议。

学员学习流程:从测验到 PAT 的七步闭环

README 为学习者规定了明确的七步学习循环,这也是本课程"高频测验 + 项目驱动"教学法的核心执行路径:

  1. 课前热身测验(pre-lecture quiz):开课前完成一组预热题目,帮助设定学习目标;
  2. 阅读课程并完成活动:跟随文字课程推进,在每个 knowledge check(知识检查点)处暂停反思;
  3. 理解优先于照抄:README 明确建议"通过理解课程来创建项目,而不是直接运行 solution 代码"。不过每个项目型课程的 /solution 文件夹中都备有可运行的完整解答(包括 Python notebook 与 R Markdown 版本);
  4. 课后测验(post-lecture quiz):巩固当课内容;
  5. 完成挑战(challenge):在课程基础上做延伸练习;
  6. 完成作业(assignment):每个课程目录下的 assignment.md 提供具体作业要求;
  7. 完成一个课程组后填写 PAT:到课程讨论区"大声学习"(learn out loud),填写 PAT(Progress Assessment Tool,进步评估工具)量规,并对他人的 PAT 做出回应,实现共同学习。

这种"课前测验 → 课程 → 课后测验 → 挑战 → 作业"的设计,是刻意通过低风险测验在前端锚定学习意图、在后端强化记忆留存。

课程地图:26 课 + 2 篇后记的完整清单

以下是 README 课程表的完整内容,覆盖全部 26 课与 2 篇 Postscript 后记。每课均标注所属模块、学习目标与课程入口,链接已统一为仓库根目录相对路径:

课号 主题 所属模块 学习目标 课程入口
01 机器学习导论 Introduction 掌握机器学习的基本概念 Lesson
02 机器学习简史 Introduction 了解这一领域的历史脉络 Lesson
03 公平性与机器学习 Introduction 构建与应用 ML 模型时应关注的公平性哲学问题 Lesson
04 机器学习技术 Introduction ML 研究者用来构建模型的技术 Lesson
05 回归导论 Regression 用 Python 与 Scikit-learn 起步回归建模 Python
06 北美南瓜价格 Regression 为 ML 做准备的数据可视化与清洗 Python
07 北美南瓜价格 Regression 构建线性与多项式回归模型 Python
08 北美南瓜价格 Regression 构建逻辑回归模型 Python
09 构建 Web 应用 Web App 用已训练模型构建 Web 应用 Python
10 分类导论 Classification 数据清洗、准备与可视化;分类入门 Python
11 亚洲与印度料理 Classification 分类器入门 Python
12 亚洲与印度料理 Classification 更多分类器 Python
13 亚洲与印度料理 Classification 用模型构建推荐 Web 应用 Python
14 聚类导论 Clustering 数据清洗、准备与可视化;聚类入门 Python
15 探索尼日利亚音乐口味 Clustering 探索 K-Means 聚类方法 Python
16 NLP 导论 NLP 通过构建简单机器人学习 NLP 基础 Python
17 常见 NLP 任务 NLP 理解处理语言结构的常见任务 Python
18 机器翻译与情感分析 NLP 用简·奥斯汀作品做翻译与情感分析 Python
19 欧洲浪漫酒店 NLP 酒店评论情感分析(一) Python
20 欧洲浪漫酒店 NLP 酒店评论情感分析(二) Python
21 时间序列预测导论 Time Series 时间序列预测入门 Python
22 世界电力消耗 - ARIMA Time Series 用 ARIMA 做时间序列预测 Python
23 世界电力消耗 - SVR Time Series 用支持向量回归做时间序列预测 Python
24 强化学习导论 Reinforcement 用 Q-Learning 入门强化学习 Python
25 帮 Peter 躲开狼 Reinforcement 强化学习 Gym Python
Postscript 真实世界 ML 场景与应用 ML in the Wild 经典 ML 有趣且发人深省的真实应用 Lesson
Postscript 用 RAI dashboard 调试 ML 模型 ML in the Wild 使用 Responsible AI dashboard 组件调试模型 Lesson

课程难度设计遵循"项目从小做起、到 12 周循环结束时复杂度递增"的原则,Postscript 后记既可作为附加分练习,也可作为讨论基础。

每课的标准内容结构

README 明确列出每课包含的元素,学习任一课时可按此清单核对内容完整性:

  • 可选的 sketchnote(手绘笔记,仓库 sketchnotes/ 目录收录了各主题的手绘图解,如 ml-regression.pngml-fairness.png 等);
  • 可选的补充视频;
  • 视频讲解(仅部分课程提供);
  • 课前热身测验(pre-lecture warmup quiz);
  • 文字课程正文;
  • 项目型课程的逐步构建指南;
  • 知识检查点(knowledge checks);
  • 挑战(challenge);
  • 补充阅读;
  • 作业(assignment);
  • 课后测验(post-lecture quiz)。

关于语言双轨制:课程主要以 Python 编写,但许多课程同时提供 R 版本。完成 R 课程的方法是进入对应课程的 /solution 文件夹查找 R 版本——它们使用 .Rmd 扩展名,即 R Markdown 文件。README 对 R Markdown 给出了定义:它是在 Markdown 文档中嵌入 code chunks(R 或其他语言的代码块)与 YAML header(指导 PDF 等输出格式的格式化配置)的文档。作为数据科学写作框架,它允许你把代码、代码输出与思路批注统一写下来,并且可以渲染为 PDF、HTML 或 Word。从仓库结构看,例如 2-Regression/1-Tools/solution/ 目录即同时包含 Python notebook 与 R 版本答案,与课表中"Python / R"双入口的标注相互印证。

测验系统:52 个测验与可本地部署的 Quiz App

全部 52 个测验(每课一个、每个 3 题)的内容都包含在 quiz-app/ 文件夹中。测验从各课程内部链接进入在线版,但 quiz app 支持本地运行,也可部署到 Azure。

quiz-app/package.json 可以看到,这是一个基于 Vue 3vue: ^3.5.12)的项目,依赖 vue-routervue-i18n(后者支撑测验的多语言展示),构建工具为 Vue CLI 5。quiz-app/src/router/index.js 定义了三个路由:首页 /、答题页 /quiz/:id(按测验 ID 进入)、以及 404 兜底路由,并采用 history 模式——因此静态托管时需要把任意路径回退到 index.html,这正是 quiz-app/public/routes.json"route": "/*" 映射到 /index.html 的用途。

本地运行步骤(来自 quiz-app/README.md):

npm install
npm run serve    # 编译并热重载,开发模式
npm run build    # 编译并压缩,生产构建
npm run lint     # 代码检查与修复

部署到 Azure Static Web App 的要点在 quiz-app README 中有完整指南:在 Azure 门户创建 Static Web App 资源,选择 GitHub 作为源、指定 quiz-app 目录,Azure 会自动生成 GitHub Actions 工作流(Azure/static-web-apps-deploy@v1),其中关键参数为 app_location: "/quiz-app"output_location: "dist"。工作流触发条件为 main 分支的 push 与 pull_request 事件,构建完成后应用即部署到 Azure 提供的 URL。

离线文档站与 PDF:Docsify 工具链

仓库内置了基于 Docsify 的离线文档能力,相关配置分散在三个文件中,构成一条完整链路:

  1. index.html:Docsify 的入口页。它引入 docsify 4 的 CDN 脚本,并通过 window.$docsify 配置站点名 Machine Learning for Beginners、开启 relativePath: true(使各课程内的相对链接在离线站点中正确解析)与 auto2top: true
  2. docs/_sidebar.md:Docsify 的侧边栏目录文件,按 9 大模块组织全部 26 课的导航链接,是离线浏览时的主目录;
  3. docsifytopdf.js:docsify-to-pdf 的生成配置,contents 指向 docs/_sidebar.md,输出到 pdf/readme.pdf,页边距设为上下各 100px,并使用 emulateMedia: 'print' 以打印媒体类型渲染。package.json 中对应的脚本为 npm run convert(实际执行 node_modules/.bin/docsify-to-pdf,devDependencies 锁定 docsify-to-pdf@0.0.5)。

离线运行的标准步骤是:在仓库根目录安装 Docsify 后执行:

docsify serve

文档站点即运行在本地 localhost:3000 端口,可完全脱离在线课程站点使用。

多语言支持与配套资源

README 的语言表格标注了 50+ 种语言的翻译(含简体中文、繁体中文港台澳、日语、韩语、法语、德语、阿拉伯语等),并说明翻译由 GitHub Action 自动化维护、始终与英文主版本同步。每种语言的入口为 translations/<语言代码>/README.md,如 translations/zh-CN/README.md。对应地,translated_images/ 目录按同样的语言代码组织了各语言版本的配图副本。对于不需要翻译的学习者,前文的 sparse checkout 命令即可跳过这些内容。

除教材外,README 还指引了几类配套资源:

  • sketchnotessketchnotes/ 目录收录公平性、回归、聚类、时间序列、强化学习等主题的手绘笔记(如 sketchnotes/ml-regression.png),适合作为每课前的直觉概览;
  • 视频讲解:部分课程提供短视频讲解,内嵌于课程页面;
  • 排错指南TROUBLESHOOTING.md 覆盖安装、配置与运行课程的常见问题;
  • 社区与答疑:README 建议遇到问题时加入课程社区讨论、在仓库中提交 Issue 反馈 bug 或改进建议;
  • PDF 版课程pdf/readme.pdf 提供带链接的完整课程 PDF,便于离线打印阅读。

学习技巧方面,README 给出三条建议:每课之后回顾 notebook、独立尝试实现算法、用所学概念探索真实数据集。

延伸阅读路径

本课程的 9 大模块内部各自成体系,每个模块的 README(如 2-Regression/README.md6-NLP/README.md)会进一步展开该模块的学习要点与课程链接。建议的学习方式是以模块为单位推进:先完成模块内各课的"课前测验 → 课程 → 课后测验"循环,再完成模块作业,最后按 README 的七步流程填写 PAT,把 12 周的 26 课按 Introduction → Regression → Web App → Classification → Clustering → NLP → TimeSeries → Reinforcement → Real-World 的顺序走完,即可完整覆盖经典机器学习从数据准备、建模、评估到部署与负责任 AI 调试的全流程。

登录后查看全文
热门项目推荐
相关项目推荐