zero-to-mastery-ml
mrdbourke/zero-to-mastery-ml加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2023 年,一位计算机专业的大四学生在网上发帖求助:自己刷完了吴恩达的机器学习课程,看懂了公式推导,却连一个完整的机器学习项目都不知道怎么下手——不知道数据从哪来、不知道模型训练完了怎么评估、不知道结果怎么写成报告。这不是个例。在 Reddit 的机器学习社区 r/MachineLearning 里,这类"课程学完却不会做项目"的求助帖几乎每天都会出现。mrdbourke/zero-to-mastery-ml 正是为解决这个gap而生的。
这个仓库收录了 Daniel Bourke(又名 mrdbourke,澳大利亚机器学习工程师,YouTube 频道拥有数十万订阅者)在 Udemy 和 zerotomastery.io 上开设的机器学习全栈课程的全部代码和数据集。与大多数只展示 toy example 的课程不同,这门课从第一个 notebook 开始就要求学员处理真实的、带有缺失值和异常值的脏数据,并最终产出可量化的模型评估结果。
Daniel Bourke 本身就是从零基础自学的典型案例。他的学习路径和踩坑经历直接映射到了课程设计里——课程刻意绕开了过于理论化的数学推导,专注于"这个函数怎么用"、"这个参数调了有什么效果"这类实操问题。他还运营每月一期的 AI & Machine Learning Monthly newsletter,在 AI 开发者圈子里有相当的影响力。
2024年9月起,Daniel 启动了面向 2025 年的课程大更新工作,截至 2025 年 10 月,pandas、NumPy、Matplotlib、Scikit-Learn 的 notebook 已全部更新完毕以适配最新 API(特别是 pandas 3.0 的 inplace=True 行为变更),Heart Disease 和 Bulldozer 两个里程碑项目的代码也已全面重写。
仓库按学习顺序分为 8 个模块,数据完全公开在 data/ 目录下,学员 clone 后无需额外下载:
| 模块 | 内容 | 关键技术 |
|---|---|---|
| Section 00 | 机器学习项目6步框架 | 问题定义 → 数据 → 评估 → 建模 |
| Section 01 | NumPy 数值计算 | ndarray、广播、向量运算 |
| Section 02 | pandas 数据处理 | 缺失值、类型转换、分组聚合 |
| Section 03 | Matplotlib 可视化 | 折线图、散点图、热力图 |
| Section 04 | Scikit-Learn 建模 | 线性回归、决策树、随机森林、SVM |
| Section 05 | 里程碑项目一:心脏病分类 | 端到端 EDA → 建模 → 调参 |
| Section 06 | 里程碑项目二:推土机价格预测 | 时间序列回归,Kaggle 实战 |
| Section 07 | TensorFlow/Keras 深度学习 | CNN、迁移学习(Dog Vision 项目) |
| Section 08 | 结果沟通与展示 | Markdown 报告、幻灯片 |
课程配套有 20+ 份 PDF 幻灯片(存放于 slides/ 目录),覆盖从"什么是机器学习"到"模型调参"的完整讲解逻辑。
项目对硬件几乎无要求,官方推荐使用 Google Colab(直接打开 .ipynb 文件即可运行)或本地安装 Anaconda/Miniconda。slides/ 目录下提供了详细的本地环境搭建指南(conda 环境创建、Jupyter 启动)。由于全部是 .ipynb Jupyter Notebook,代码逐行可执行、可修改、可视化结果即时呈现——对初学者非常友好。
项目无 Dockerfile,也不需要 Web UI,这与其"教学代码仓库"的定位一致。
缺乏生产级工程实践:课程代码主要在 Jupyter Notebook 环境运行,缺少模块化封装和单元测试。虽然 .github/workflows/ 中存在 CI 配置,但大多数 notebook 并未配备自动化测试。对于已经有一些项目经验的开发者来说,这里学到的更多是 ML 流程思维,而非软件工程实践。
TensorFlow 部分相对薄弱:对比 Scikit-Learn 章节的详尽程度,深度学习部分(Dog Vision 项目)明显更简略,且截至分析时(2025年10月)该章节的 2025 版更新尚未完成。
版权许可模糊:虽然仓库声称 MIT License,但 code_profile 显示 license 字段为 NOASSERTION,根目录 LICENSE 文件未含标准 SPDX 标识符。建议使用时注意确认。
总结:这是一个适合 ML 入门者建立完整项目思维的优质教学仓库,代码可运行、数据可复现、文档详尽。对有经验的开发者而言,它的价值更多在于参考其教学设计和问题拆解思路,而非作为代码库直接引入生产项目。