machine_learning_complete
machine_learning_complete 是一个广受好评的机器学习开源知识库,旨在为学习者提供从基础到进阶的一站式资源。它收录了 35 个精心编写的 Jupyter Notebook,内容全面覆盖 Python 编程、数据清洗与分析、可视化技巧,以及经典机器学习算法、计算机视觉和自然语言处理等核心领域。
对于许多初学者而言,机器学习概念抽象且代码实现门槛较高。machine_learning_complete 通过“理论概述 + 可视化图解 + 完整代码”的模式,有效解决了学习过程中理论与实践脱节的痛点。每个笔记都以高层级的概念介绍开篇,并尽可能利用图表让复杂逻辑变得直观易懂,帮助用户快速掌握算法原理与工程落地方法。
这套资源非常适合希望系统入门数据科学的学生、需要查阅最佳实践的开发者,以及想要巩固基础的研究人员。其独特亮点在于不仅涵盖了 Scikit-Learn、TensorFlow、Keras 等主流工具链的实战应用,还持续更新包括 MLOps(机器学习运维)指南和迁移学习在内的前沿话题。此外,项目支持直接在 Google Colab 或 Deepnote 云端运行,无需配置本地环境即可立即开始探索,是提升机器学习技能的实用宝库。
使用场景
某初创公司的数据分析师需要在两周内为电商客户构建一个包含用户流失预测和评论情感分析的原型系统,但团队缺乏系统的机器学习实战经验。
没有 machine_learning_complete 时
- 知识碎片化严重:成员需在不同博客、文档和论坛间反复搜索从零散的代码片段拼凑流程,极易遗漏关键步骤如数据清洗或特征工程的最佳实践。
- 算法原理理解困难:面对复杂的数学公式和抽象概念,缺乏直观的可视化图解辅助,导致团队成员花费大量时间死磕理论而非动手实现。
- 技术栈切换成本高:项目涉及从传统机器学习到深度学习(TensorFlow/Keras)的跨越,自行搭建环境并调试各库兼容性消耗了宝贵的开发周期。
- 缺乏标准化流程:由于没有统一的参考范式,代码风格混乱且缺少 MLOps 指导,导致模型部署阶段频繁返工,难以保证交付质量。
使用 machine_learning_complete 后
- 一站式全流程指引:直接复用仓库中 35+ 个涵盖数据清洗、可视化及建模的完整 Notebook,将原本需要数周的资料搜集工作压缩至几天内完成。
- 直观的概念解析:利用仓库中自带的高层概述和丰富视觉图表,团队成员迅速掌握了核心算法逻辑,显著降低了学习曲线并加速了原型迭代。
- 无缝的技术集成:基于仓库提供的 Python、Scikit-Learn 到 TensorFlow 的标准示例,快速打通了从经典算法到 NLP 深度学习的完整技术链路。
- 规范化的工程落地:参照最新的 MLOps 指南和系统设计工作流,构建了结构清晰、易于维护的代码库,确保了模型从训练到部署的平滑过渡。
machine_learning_complete 通过提供结构化、可视化且覆盖全生命周期的实战案例,将团队从繁琐的基础建设中解放出来,专注于解决核心业务问题。
运行环境要求
- 未说明
未说明 (深度学习部分使用 TensorFlow/Keras,通常可选配 NVIDIA GPU 以加速训练,但 README 未指定具体型号或显存要求)
未说明

快速开始
完整机器学习包
🏅 被评为 GitHub 上顶级数据科学仓库之一!
技术、工具、最佳实践,以及你学习机器学习所需的一切!

完整机器学习包 是一个全面的代码库,包含 35 个关于 Python 编程、数据处理、数据分析、数据可视化、数据清洗、经典机器学习、计算机视觉和自然语言处理 (NLP) 的笔记本。
所有笔记本都是以读者为中心编写的。每个笔记本都从对所讨论的具体算法或概念的高层次概述开始。在可能的情况下,会使用图表来使内容更加清晰。
最新动态 🔥
2023 年 5 月 10 日:新增了 MLOps 综合指南。欢迎阅读!
2022 年 6 月 23 日:许多人询问如何支持本项目。你可以请我们喝杯 咖啡 ☕️
2022 年 5 月 18 日:完整机器学习包现已上线 网页。现在可以轻松查看所有笔记本!
2022 年 4 月 9 日:更新了 使用预训练卷积神经网络的迁移学习,增加了更多内容并补充了相关资源。
2021 年 11 月 25 日:更新了 机器学习基础:添加了入门说明、机器学习系统设计流程以及学习系统的挑战。
工具概览
以下是完整机器学习包中涵盖的工具。这些工具在机器学习工程师和数据科学家的日常工作中非常常见,几乎每个人都需要用到。
Python 是一种高级编程语言,在数据社区中广受欢迎。随着各种库和框架的快速发展,它已成为进行机器学习的理想选择。
NumPy 是一种用于数组或矩阵运算的科学计算工具。
Pandas 是一款强大且简单的工具,可用于分析和操作来自各种不同来源的数据。
Matplotlib 是一个功能全面的数据可视化工具,可用于在 Python 中创建静态、动画和交互式可视化效果。
Seaborn 是另一个基于 Matplotlib 构建的数据可视化工具,使用起来非常简单。
Scikit-Learn:与从头开始构建机器学习模型不同,Scikit-Learn 可以让你用几行代码轻松使用经典模型。该工具被几乎所有机器学习社区和行业采用,从小型初创公司到大型科技企业。
TensorFlow 和 Keras 用于深度学习:TensorFlow 是一个流行的深度学习框架,可用于构建适用于计算机视觉和自然语言处理等不同领域的模型。Keras 是一个高级神经网络 API,可轻松设计深度学习模型。TensorFlow 和 Keras 拥有一个庞大的 社区 和生态系统,其中包括 TensorBoard、TF Datasets、TensorFlow Lite、TensorFlow Extended、TensorFlow Hub、TensorFlow.js、TensorFlow GNN 等,还有更多 资源 和 工具。
完整大纲
第一部分 - Python 入门与数据处理
0 - 机器学习中的 Python 入门
1 - 使用 NumPy 进行数据计算
- 创建 NumPy 数组
- 数据选择:索引和切片数组
- 执行数学和其他基本操作
- 进行基本统计
- 数据操作
2 - 使用 Pandas 进行数据处理
- Pandas 基础
- Series 和 DataFrames
- 数据索引和选择
- 处理缺失数据
- 基本操作和函数
- 聚合方法
- Groupby
- 合并、连接和拼接
- 不止于 DataFrames:处理 CSV 和 Excel 文件
- 现实世界中的探索性数据分析 (EDA)
3 - 数据可视化
4 - 现实世界中的数据探索性分析和数据准备
第二部分 - 机器学习
5 - 机器学习基础
- 什么是机器学习?
- 人工智能、数据科学、机器学习和深度学习的区别
- 机器学习与普通编程的区别
- 机器学习的应用
- 何时使用以及何时不使用机器学习
- 机器学习的类型
- 典型的机器学习项目流程
- 评估指标
- 机器学习系统的挑战
6 - 使用Scikit-Learn的经典机器学习
第三部分 - 深度学习
7 - 人工神经网络与TensorFlow入门
-
为什么选择深度学习
单层神经网络
激活函数
深度学习架构的类型
- 密集连接网络
- 卷积神经网络
- 循环神经网络
- 变压器
训练深度神经网络的挑战
-
- 什么是TensorFlow?
- TensorFlow模型API
- TensorFlow生态系统快速导览
- 张量的基础知识
8 - 使用TensorFlow的深度计算机视觉
-
- 计算机视觉与CNNs简介
- 什么是卷积神经网络?
- 卷积神经网络的典型架构
- 编码CNN:图像分类
- 计算机视觉与CNNs简介
-
- 简介 - 真实世界数据集与数据增强
- 入门:真实世界数据集与过拟合
- 使用Keras图像增强层进行图像增强
-
- 迁移学习的动机
- 迁移学习简介
- 迁移学习的典型流程
- 使用预训练模型进行快速图像分类
- 实践中的迁移学习与微调
- 使用TensorFlow Hub进行快速图像分类与迁移学习
[更新后的迁移学习笔记本可在这里找到]
9 - 使用TensorFlow的自然语言处理
-
- 自然语言处理入门
- 使用TensorFlow进行文本处理
- 使用TextVectorization层
-
- 词嵌入简介
- 嵌入的实际应用
- 使用预训练嵌入
-
- 循环神经网络简介
- 实际应用中的简单RNN:电影情感分析
- 长短期记忆简介
- LSTMs的实际应用:新闻分类
-
- 卷积神经网络在文本处理中的应用简介
- CNN在实际中的应用:新闻分类
- 结合CNN与RNN
-
- BERT简介
- 实际操作:微调预训练BERT
使用的数据集
本仓库中使用的许多数据集来自以下来源:
更多机器学习资源
机器学习社区非常活跃。完整的机器学习教程可以帮助你入门,但仅靠这些还不够。幸运的是,有许多优秀的学习资源,其中一些是付费的,也有一些是免费提供的。以下是一些经常被推荐的课程列表。请注意,这些课程并没有按照学习顺序排列。
课程
Coursera 的机器学习课程:本课程由吴恩达主讲。它是最受欢迎的机器学习课程之一,已有超过400万人参与学习。课程重点讲解机器学习技术和算法的基础知识。该课程在 Coursera 上免费开放。
深度学习专项课程:同样由吴恩达主讲,这是一门以基础为核心的课程。它系统介绍了卷积神经网络和循环神经网络等主要深度学习架构的基础知识。完整课程可以在 Coursera 上旁听,也可以在 YouTube 上免费观看。
MIT 深度学习导论:本课程在相对较短的时间内提供了深度学习的基础知识。每节课时长不超过一小时,但教学内容依然处于业界顶尖水平。课程主页请见 这里,讲座视频请见 这里。
MIT 数据中心人工智能导论:这是全球首门关于数据中心人工智能(DCAI)的课程。课程涵盖了发现并修复机器学习数据中常见问题、构建更优质数据集的算法,重点针对分类等监督学习任务中的数据。所有教学内容都极具实用性,聚焦于真实世界机器学习应用中的关键环节,而非特定模型的数学细节。通过本课程,你可以学习到大多数机器学习课程未涉及的实用技术,从而有效缓解困扰许多实际应用的“垃圾进、垃圾出”问题。课程主页请见 这里,讲座视频请见 这里,实验作业请见 这里。
NYU 2021年春季深度学习课程:由杨立昆和阿尔弗雷多·坎齐亚尼在纽约大学授课,这是一门极具创意的课程。教学内容呈现方式非常出色。讲座视频请见 这里,课程代码库请见 这里。
斯坦福 CS231N:用于视觉识别的卷积神经网络:CS231N 是顶尖的深度学习与计算机视觉课程之一。2017 年版由李飞飞、贾斯汀·约翰逊和塞蕾娜·杨共同讲授。2016 年版则由李飞飞、约翰逊和安德烈·卡帕西主讲。2017 年版的讲座视频请见 这里,其他资料请见 这里。
斯坦福 CS224N:深度学习自然语言处理:如果你对自然语言处理感兴趣,这门课程是一个绝佳选择。课程由世界级自然语言处理专家克里斯托弗·曼宁主讲。讲座视频请见 这里。
fast.ai 编码人员实用深度学习课程:这也是一门密集型深度学习课程,覆盖了深度学习的所有架构和技术。讲座视频以及其他资源,如 笔记本,均可在 课程页面上找到。
生产环境下的机器学习工程(MLOps)专项课程:由吴恩达、劳伦斯·莫罗尼和罗伯特·克劳主讲,这是顶尖的机器学习工程课程之一。课程教授如何设计端到端的机器学习生产系统,构建高效的数据与建模流水线,并将模型部署到生产环境中。你可以在 Coursera 上找到该课程,其他课程资料则可在 GitHub 上获取。
全栈深度学习:大多数机器学习课程专注于模型开发,而本课程则侧重于机器学习系统的落地与交付。课程教授如何规划机器学习项目、管理数据(存储、访问、处理、版本控制和标注)、训练、调试以及部署机器学习模型。2021 年版请见 这里,2019 年版请见 这里。你还可以浏览 项目展示,了解学员们通过课程所完成的成果。
书籍
以下是一些非常棒的机器学习书籍。
《百页机器学习书》:由Andriy Burkov撰写,这是你在互联网上能找到的最短小精悍、条理清晰且文笔优美的机器学习书籍之一。你可以在此免费阅读本书:这里。
《机器学习工程》:同样由Andriy Burkov撰写,这是一本优秀的机器学习书籍,深入探讨了机器学习工作流的每一个环节,从数据收集、数据预处理,一直到模型部署与维护。本书也可免费获取:这里。
《机器学习心法》:由吴恩达撰写,书中包含了构建高效机器学习系统的各种策略。全书被划分为多个小节,易于阅读,不仅适合机器学习工程师,任何从事数据科学和机器学习相关工作的人员都能从中受益。官方版本可在此免费获取:这里,你也可以无需注册直接在此阅读或下载:这里。
《动手学机器学习:使用Scikit-Learn、Keras和TensorFlow》:由Aurelion Geron撰写,这是一本顶尖的机器学习书籍之一。它语言清晰,内容丰富,充满了实用的思路和最佳实践。你可以在这里购买本书,或访问其代码库:这里。
《深度学习》:由三位深度学习领域的传奇人物——Ian Goodfellow、Yoshua Bengio和Aaron Courville共同撰写,这是一本极为出色的深度学习教材,目前可免费获取。你可以在这里下载。
《用Python进行深度学习》:由Keras的创始人François Chollet撰写,这是一本非常全面的深度学习书籍。你可以在这里购买本书,其代码库地址为:这里。
《深入理解深度学习》:这也是一本优秀的深度学习书籍,完全免费开放。该书同时使用PyTorch和TensorFlow作为工具。你可以在此完整阅读本书:这里。
《神经网络与深度学习》:这是Michael Nielsen撰写的另一本优秀的深度学习在线教材。你可以在此完整阅读本书:这里。
如果你对更多机器学习和深度学习资源感兴趣,可以在这里找到:这里、这里以及这里。
引用完整的机器学习工具包
@article{Nyandwi2021MLPackage,
title = "Complete Machine Learning Package",
author = "Nyandwi, Jean de Dieu",
journal = "GitHub",
year = "2021",
url = "https://nyandwi.com/machine_learning_complete",
}
本仓库由Jean de Dieu Nyandwi创建。你可以在Twitter、LinkedIn、Medium以及Instagram上找到他。
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器