machine-learning-course
machine-learning-course 是一个基于 Python 的开源机器学习教程项目,旨在为学习者提供一套既全面又易懂的学习路径。面对机器学习领域文献浩如烟海、入门门槛较高的问题,该项目通过一系列结构清晰的实战教程,帮助用户系统掌握从基础定义、发展演变到核心算法分类及代码实现的关键知识。
该项目特别适合希望从零开始构建机器学习知识体系的开发者、学生以及研究人员。不同于枯燥的理论堆砌,machine-learning-course 强调“动手实践”,依托 Scikit-learn 等主流框架,将复杂的算法原理转化为可运行的 Python 代码示例。其独特亮点在于提供了完整的官方文档与可下载的 PDF 书籍,内容编排由浅入深,不仅解释了“什么是机器学习”,更重点展示了“如何实现机器学习”。无论是想转行 AI 的程序员,还是需要补充实战技能的数据科学爱好者,都能在这里找到循序渐进的学习资源,轻松跨越理论与实践之间的鸿沟。
使用场景
某初创公司的数据分析师李明,需要在两周内为电商团队构建一个用户流失预测模型,但他仅有基础的 Python 语法知识,缺乏系统的机器学习实战经验。
没有 machine-learning-course 时
- 理论碎片化:李明在网络上零散搜索“什么是随机森林”或“过拟合怎么办”,得到的答案深浅不一,难以拼凑成完整的知识体系。
- 代码落地难:即使看懂了算法原理,面对 Scikit-learn 等框架时,仍不知道如何清洗数据、划分数据集及调整超参数,导致代码报错频发。
- 学习路径迷茫:面对海量的机器学习子领域(如监督学习、无监督学习),无法判断学习优先级,浪费大量时间在非核心内容上。
- 缺乏权威参考:找不到结构化的文档来验证自己的实现逻辑是否正确,只能依靠试错,严重拖慢项目进度。
使用 machine-learning-course 后
- 体系化入门:通过课程中“机器学习定义与演变”章节,李明快速建立了从基础概念到分类体系的清晰认知地图。
- 手把手实战:直接复用课程提供的 Python 教程,按步骤实现了数据预处理和主流算法(如决策树、SVM)的代码落地,大幅减少调试时间。
- 路径清晰明确:依据课程目录的逻辑顺序,他优先掌握了最常用的监督学习算法,精准匹配业务需求,避免了无效学习。
- 文档随时查阅:遇到细节问题时,随时查阅官方文档和 PDF 教材,迅速确认了模型评估指标的计算方式,确保了结果的可信度。
machine-learning-course 将抽象的数学理论转化为可执行的 Python 代码,帮助开发者以最低成本跨越从“懂原理”到“能落地”的鸿沟。
运行环境要求
未说明
未说明

快速开始
################################################### 使用Python的机器学习课程 ###################################################
.. image:: https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat :target: https://github.com/pyairesearch/machine-learning-for-everybody/pulls .. image:: https://badges.frapsoft.com/os/v2/open-source.png?v=103 :target: https://github.com/ellerbrock/open-source-badge/ .. image:: https://img.shields.io/badge/Made%20with-Python-1f425f.svg :target: https://www.python.org/ .. image:: https://img.shields.io/github/contributors/machinelearningmindset/machine-learning-course.svg :target: https://github.com/machinelearningmindset/machine-learning-course/graphs/contributors .. image:: https://img.shields.io/badge/book-pdf-blue.svg :target: https://machinelearningmindset.com/wp-content/uploads/2019/06/machine-learning-course.pdf .. image:: https://img.shields.io/badge/official-documentation-green.svg :target: https://machine-learning-course.readthedocs.io/en/latest/ .. image:: https://img.shields.io/twitter/follow/machinemindset.svg?label=Follow&style=social :target: https://twitter.com/machinemindset
################## 目录 ################## .. contents:: :local: :depth: 4
================================================ 免费下载深度学习资源指南
.. raw:: html
================================================ Slack社区
.. raw:: html
======================== 引言
本项目旨在提供一门全面且简单的使用Python进行机器学习的课程。
.. 您可以通过以下链接访问完整文档:|Book| |Documentation|
.. .. |Book| image:: https://img.shields.io/badge/book-pdf-blue.svg :target: https://machinelearningmindset.com/wp-content/uploads/2019/06/machine-learning-course.pdf .. .. |Documentation| image:: https://img.shields.io/badge/official-documentation-green.svg :target: https://machine-learning-course.readthedocs.io/en/latest/
============ 动机
作为“人工智能”工具之一,“机器学习”是应用最广泛的科学领域之一。关于机器学习已经发表了大量的文献。本项目旨在通过一系列简单而全面的教程,使用“Python”来介绍“机器学习”的最重要方面。在本项目中,我们使用了许多著名的机器学习框架,如“Scikit-learn”。在本项目中,您将学习:
- 什么是机器学习的定义?
- 它何时开始,目前的发展趋势如何?
- 机器学习有哪些类别和子类别?
- 常用的机器学习算法有哪些,如何实现它们?
===================== 机器学习
+--------------------------------------------------------------------+-------------------------------+
| 标题 | 文档 |
+====================================================================+===============================+
| 机器学习简介 | 概述 <Intro_>_ |
+--------------------------------------------------------------------+-------------------------------+
.. _Intro: docs/source/intro/intro.rst
机器学习基础
.. figure:: _img/intro.png .. _lrtutorial: docs/source/content/overview/linear-regression.rst .. _lrcode: https://github.com/machinelearningmindset/machine-learning-course/blob/master/code/overview/linear_regression/linearRegressionOneVariable.ipynb
.. _overtutorial: docs/source/content/overview/overfitting.rst .. _overcode: code/overview/overfitting
.. _regtutorial: docs/source/content/overview/regularization.rst .. _regcode: code/overview/regularization
.. _crosstutorial: docs/source/content/overview/crossvalidation.rst .. _crosscode: code/overview/cross-validation
+--------------------------------------------------------------------+-------------------------------+--------------------------------+
| 标题 | 代码 | 文档 |
+====================================================================+===============================+================================+
| 线性回归 | Python <lrcode_>_ | 教程 <lrtutorial_>_ |
+--------------------------------------------------------------------+-------------------------------+--------------------------------+
| 过拟合 / 欠拟合 | Python <overcode_>_ | 教程 <overtutorial_>_ |
+--------------------------------------------------------------------+-------------------------------+--------------------------------+
| 正则化 | Python <regcode_>_ | 教程 <regtutorial_>_ |
+--------------------------------------------------------------------+-------------------------------+--------------------------------+
| 交叉验证 | Python <crosscode_>_ | 教程 <crosstutorial_>_ |
+--------------------------------------------------------------------+-------------------------------+--------------------------------+
监督学习
.. figure:: _img/supervised.gif
.. _dtdoc: docs/source/content/supervised/decisiontrees.rst .. _dtcode: code/supervised/DecisionTree/decisiontrees.py
.. _knndoc: docs/source/content/supervised/knn.rst .. _knncode: code/supervised/KNN/knn.py
.. _nbdoc: docs/source/content/supervised/bayes.rst .. _nbcode: code/supervised/Naive_Bayes
.. _logisticrdoc: docs/source/content/supervised/logistic_regression.rst .. _logisticrcode: supervised/Logistic_Regression/logistic_ex1.py
.. _linearsvmdoc: docs/source/content/supervised/linear_SVM.rst .. _linearsvmcode: code/supervised/Linear_SVM/linear_svm.py
+--------------------------------------------------------------------+-------------------------------+------------------------------+
| 标题 | 代码 | 文档 |
+====================================================================+===============================+==============================+
| 决策树 | Python <dtcode_>_ | 教程 <dtdoc_>_ |
+--------------------------------------------------------------------+-------------------------------+------------------------------+
| K近邻 | Python <knncode_>_ | 教程 <knndoc_>_ |
+--------------------------------------------------------------------+-------------------------------+------------------------------+
| 朴素贝叶斯 | Python <nbcode_>_ | 教程 <nbdoc_>_ |
+--------------------------------------------------------------------+-------------------------------+------------------------------+
| 逻辑回归 | Python <logisticrcode_>_ | 教程 <logisticrdoc_>_ |
+--------------------------------------------------------------------+-------------------------------+------------------------------+
| 支持向量机 | Python <linearsvmcode_>_ | 教程 <linearsvmdoc_>_ |
+--------------------------------------------------------------------+-------------------------------+------------------------------+
无监督学习
.. figure:: _img/unsupervised.gif
.. _clusteringdoc: docs/source/content/unsupervised/clustering.rst .. _clusteringcode: code/unsupervised/Clustering
.. _pcadoc: docs/source/content/unsupervised/pca.rst .. _pcacode: code/unsupervised/PCA
+--------------------------------------------------------------------+-------------------------------+--------------------------------+
| 标题 | 代码 | 文档 |
+====================================================================+===============================+================================+
| 聚类 | Python <clusteringcode_>_ | 教程 <clusteringdoc_>_ |
+--------------------------------------------------------------------+-------------------------------+--------------------------------+
| 主成分分析 | Python <pcacode_>_ | 教程 <pcadoc_>_ |
+--------------------------------------------------------------------+-------------------------------+--------------------------------+
深度学习
.. figure:: _img/deeplearning.png
.. _mlpdoc: docs/source/content/deep_learning/mlp.rst .. _mlpcode: code/deep_learning/mlp
.. _cnndoc: docs/source/content/deep_learning/cnn.rst .. _cnncode: code/deep_learning/cnn
.. _aedoc: docs/source/content/deep_learning/autoencoder.rst .. _aecode: code/deep_learning/autoencoder
.. _rnndoc: code/deep_learning/rnn/rnn.ipynb .. _rnncode: code/deep_learning/rnn/rnn.py
+--------------------------------------------------------------------+-------------------------------+---------------------------+
| 标题 | 代码 | 文档 |
+====================================================================+===============================+===========================+
| 神经网络概述 | Python <mlpcode_>_ | 教程 <mlpdoc_>_ |
+--------------------------------------------------------------------+-------------------------------+---------------------------+
| 卷积神经网络 | Python <cnncode_>_ | 教程 <cnndoc_>_ |
+--------------------------------------------------------------------+-------------------------------+---------------------------+
| 自编码器 | Python <aecode_>_ | 教程 <aedoc_>_ |
+--------------------------------------------------------------------+-------------------------------+---------------------------+
| 循环神经网络 | Python <rnncode_>_ | IPython <rnndoc_>_ |
+--------------------------------------------------------------------+-------------------------------+---------------------------+
======================== 拉取请求流程
请考虑以下标准,以便我们更好地为您提供帮助:
- 拉取请求主要应为链接建议。
- 请确保您建议的资源未过时或失效。
- 在构建和创建拉取请求之前,请确保已移除所有安装或构建依赖项。
- 添加注释以详细说明接口的更改,包括新的环境变量、开放端口、有用文件位置以及容器参数。
- 当您获得至少一名其他开发者的批准后,即可合并拉取请求;如果您没有权限执行此操作,可在确认所有检查均已通过的情况下,请求项目所有者为您合并。
======================== 最后说明
我们期待您的宝贵反馈。请帮助我们改进这个开源项目,使我们的工作更加出色。如需贡献,请创建一个拉取请求,我们将尽快进行审核。再次感谢您的反馈与支持。
======================== 开发者
项目负责人及创建者: Amirsina Torfi [GitHub <https://github.com/astorfi>, 个人网站 <https://astorfi.github.io/>, LinkedIn <https://www.linkedin.com/in/sinalk/>_ ]
开发人员: Amirsina Torfi, Brendan Sherman*, James E Hopkins* [LinkedIn <https://www.linkedin.com/in/jhopk>], Zac Smith [LinkedIn <https://www.linkedin.com/in/zac-smith-a7bb60185/i>]
注意:本项目作为弗吉尼亚理工大学 [CS 4624 多媒体/超文本课程 <https://vtechworks.lib.vt.edu/handle/10919/90655>] 提供的毕业设计项目而开发,并在 [机器学习思维 <https://machinelearningmindset.com/>] 的指导和支持下完成。
*: 平等贡献
====================== 引用
如果您觉得本课程有所帮助,请您参考以下格式进行引用:
.. code:: shell
@software{amirsina_torfi_2019_3585763,
author = {Amirsina Torfi 和
Brendan Sherman 和
Jay Hopkins 和
Eric Wynn 和
hokie45 和
Frederik De Bleser 和
李明岳 和
Samuel Husso 和
Alain},
title = {{machinelearningmindset/machine-learning-course:
使用 Python 的机器学习}},
month = dec,
year = 2019,
publisher = {Zenodo},
version = {1.0},
doi = {10.5281/zenodo.3585763},
url = {https://doi.org/10.5281/zenodo.3585763}
}
版本历史
1.02019/12/19相似工具推荐
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 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器