python-machine-learning-book

GitHub
12.6k 4.4k 非常简单 6 次阅读 3天前MIT数据工具其他开发框架
AI 解读 由 AI 自动生成,仅供参考

python-machine-learning-book 是经典著作《Python 机器学习》(第一版)的官方配套代码仓库与学习资源。它不仅仅提供了书中 400 多页内容的可执行代码示例,更致力于填补理论公式与实际编程之间的鸿沟,帮助读者真正掌握机器学习的核心原理。

该项目主要解决了初学者在面对复杂算法时“懂理论却难落地”的痛点。通过提供从基础概念到最佳实践的完整路径,它引导用户利用 NumPy、scikit-learn 和 Theano 等主流库,将抽象的数学推导转化为可直接运行的 Python 代码。内容涵盖数据预处理、分类算法、降维技术以及模型评估等关键环节,让学习者能直观地看到算法如何在真实场景中发挥作用。

这套资源非常适合希望系统入门机器学习的开发者、数据科学家以及相关领域的研究人员。如果你不满足于仅仅调用现成的 API,而是想深入理解算法背后的逻辑并掌握工业级的编码规范,python-machine-learning-book 将是极佳的起点。其独特的亮点在于强调“知其然更知其所以然”,在提供便捷 Jupyter Notebook 代码的同时,紧密结合书中的理论讲解,确保用户在动手实践中建立起扎实的知识体系。需要注意的是,本仓库对应的是 2015 年出版的第一版内容,若需最新技术栈可参考其第二版项目。

使用场景

某金融科技公司数据分析师小李,正试图从零构建一个信用卡欺诈检测模型,但他发现理论公式与代码实现之间存在巨大鸿沟。

没有 python-machine-learning-book 时

  • 理论落地难:虽然懂梯度下降的数学推导,但面对 NumPy 和 scikit-learn 的具体 API 时,不知道如何将公式转化为可运行的代码。
  • 预处理踩坑:在处理缺失值和特征缩放时,缺乏最佳实践指导,导致模型因数据分布不均而频繁过拟合。
  • 调参无头绪:面对众多分类器(如 SVM、随机森林),不清楚如何系统地进行超参数优化和模型评估,只能盲目试错。
  • 资源碎片化:需要在 StackOverflow、零散博客和官方文档间反复跳转,难以形成完整的知识体系,学习效率极低。

使用 python-machine-learning-book 后

  • 代码即理论:直接参考书中第 2 章和第 3 章的 Jupyter Notebook 示例,将分类算法的数学逻辑无缝映射为标准的 Python 实现。
  • 规范数据流:依据第 4 章“构建优质训练集”的指导,建立了标准化的数据预处理管道,显著提升了模型的泛化能力。
  • 科学调优:利用第 6 章提供的模型评估与超参数优化最佳实践,快速锁定了最优参数组合,缩短了开发周期。
  • 体系化学习:通过 400 页连贯的代码与讲解,从底层原理到工程实战一气呵成,不再需要碎片化搜索,建立了扎实的方法论。

python-machine-learning-book 通过将深奥的机器学习理论转化为可直接执行的代码案例,帮助开发者跨越了从“懂公式”到“能落地”的关键障碍。

运行环境要求

GPU

未说明

内存

未说明

依赖
notes该仓库对应《Python Machine Learning》第一版(2015 年出版),代码示例主要基于较旧的库版本。若需运行第二版代码,请参考作者提供的独立仓库。部分章节涉及神经网络并行训练,依赖 Theano 框架。建议查阅各章节目录下的具体 README 文件以获取详细的环境设置指南。
python未说明
NumPy
scikit-learn
Theano
python-machine-learning-book hero image

快速开始

Python机器学习书籍代码仓库

Google Group


重要提示(2017年9月21日):

本GitHub仓库包含的是《Python机器学习》第一版的代码示例。如果您正在寻找第二版的代码示例,请参阅此仓库


您将在这里找到400页内容丰富、实用的材料,几乎涵盖了您入门机器学习所需的一切——从理论到可以直接上手的代码!这并非又一本“如何使用scikit-learn”的书。我的目标是深入浅出地讲解所有底层概念,告诉您在最佳实践和注意事项方面需要了解的一切,并且我们将主要使用NumPy、scikit-learn和Theano来把这些概念付诸实践。

不确定这本书是否适合您?请查看来自前言序言的节选,或参阅下方的常见问题解答部分以获取更多信息。


第一版,出版于2015年9月23日
平装本:454页
出版社:Packt Publishing

语言:英语
ISBN-10:1783555130

ISBN-13:978-1783555130
Kindle ASIN:B00YSILNL0



德语ISBN-13:978-3958454224
日语ISBN-13:978-4844380603
意大利语ISBN-13:978-8850333974
繁体中文ISBN-13:978-9864341405
简体中文ISBN-13:978-71111558804
韩语ISBN-13:979-1187497035
俄语ISBN-13:978-5970604090

目录与代码笔记本

只需点击章节标题旁边的 ipynb/nbviewer 链接即可查看代码示例(目前,内部文档链接仅在 NbViewer 版本中受支持)。 请注意,这些只是随书附带的代码示例,我上传它们是为了方便大家;请务必注意,如果没有公式和说明文字,这些笔记本可能无法发挥作用。


  1. 机器学习——赋予计算机从数据中学习的能力 [目录] [ipynb] [nbviewer]
  2. 训练用于分类的机器学习算法 [目录] [ipynb] [nbviewer]
  3. 使用 Scikit-Learn 探索机器学习分类器 [目录] [ipynb] [nbviewer]
  4. 构建高质量训练集——数据预处理 [目录] [ipynb] [nbviewer]
  5. 通过降维压缩数据 [目录] [ipynb] [nbviewer]
  6. 学习模型评估与超参数优化的最佳实践 [目录] [ipynb] [nbviewer]
  7. 结合不同模型进行集成学习 [目录] [ipynb] [nbviewer]
  8. 将机器学习应用于情感分析 [目录] [ipynb] [nbviewer]
  9. 将机器学习模型嵌入 Web 应用程序 [目录] [ipynb] [nbviewer]
  10. 使用回归分析预测连续型目标变量 [目录] [ipynb] [nbviewer]
  11. 处理无标签数据——聚类分析 [目录] [ipynb] [nbviewer]
  12. 训练人工神经网络进行图像识别 [目录] [ipynb] [nbviewer]
  13. 通过 Theano 并行化神经网络训练 [目录] [ipynb] [nbviewer]

公式参考

[PDF] [TEX]

教学幻灯片

非常感谢 Dmitriy Dligach 分享他在 芝加哥洛约拉大学 开设的机器学习课程的幻灯片。

数学与 NumPy 补充资源

一些读者询问了数学和 NumPy 的入门资料,因为受限于篇幅并未收录。不过,我最近为另一本书整理了相关资源,并将这些章节免费在线提供,希望也能作为本书的有益背景材料:


引用本书

您完全可以将本书中的代码片段或其他内容用于科学出版物及其他作品; 在这种情况下,恳请您引用原始出处:

BibTeX:

@Book{raschka2015python,
 author = {Raschka, Sebastian},
 title = {Python Machine Learning},
 publisher = {Packt Publishing},
 year = {2015},
 address = {Birmingham, UK},
 isbn = {1783555130}
 }

MLA:

Raschka, Sebastian. Python machine learning. Birmingham, UK: Packt Publishing, 2015. Print.


反馈与评论

简短评论摘录


塞巴斯蒂安·拉施卡的新书《Python机器学习》刚刚出版。我有幸阅读了审阅稿,正如我所期待的那样——非常出色!全书条理清晰、易于理解,不仅为非专业人士提供了良好的基础,从业者也能从中获得启发并学到新技巧。
– 朗·里斯伯格,发表于Data Elixir

太棒了!到目前为止,这本书在我看来很好地平衡了理论与实践、数学与代码!
布莱恩·托马斯

我几乎读遍了所有基于Scikit-learn的机器学习书籍,而这本无疑是目前最好的。
杰森·沃洛索诺维奇

这是我见过PACKT出版社出版的最佳书籍。这是一本用Python编写的非常优秀的机器学习入门书。正如其他人所指出的那样,它完美地融合了理论与应用。
乔什·D.

这是一本难得兼具多种优点的书:既包含了掌握理论所需的数学知识,又提供了大量的Python代码示例来展示如何实际应用这些机器学习技术。此外,书中没有像许多其他书籍那样为了迎合更广泛的读者而浪费篇幅去介绍Python基础知识,这一点也令人赞赏。可以看出,作者是真正懂行的人,而非仅仅出于兴趣的DIY爱好者。
亚马逊用户

塞巴斯蒂安·拉施卡创作了一部将理论与实践相结合的精彩机器学习教程。本书从理论角度讲解机器学习,并配有大量代码示例,展示了如何实际运用各种机器学习技术。无论是初学者还是高级程序员,都可以轻松阅读此书。

长篇评论

如果您需要帮助决定这本书是否适合您,请查看下方链接的一些“长篇”评论。(如果您撰写了评论,请告知我,我很乐意将其添加到列表中)。


链接

中文译本


文献引用与拓展阅读资源

勘误表


附录笔记本(书中未包含)


“相关内容”(书中未包含)


SciPy 2016

我们在奥斯汀举行的 SciPy 2016 上度过了非常愉快的时光!能与这么多本书的读者见面并交流,真是令人高兴。非常感谢大家给予的赞美和反馈!另外,如果你错过了的话,我和 Andreas Mueller 共同做了题为 “使用 scikit-learn 进行机器学习入门” 的演讲;如果你感兴趣,第一部分第二部分 的视频现在已上线!

PyData Chicago 2016

在 PyData Chicago 2016 上,我尝试完成了一项颇具挑战性的任务——仅用 90 分钟介绍 scikit-learn 和机器学习。演示文稿及教程材料可在 “学习 scikit-learn —— Python 中的机器学习入门” 中找到。


我建立了一个独立的库 mlxtend,其中包含了额外的机器学习(以及通用“数据科学”)算法实现。我还添加了本书中的实现(例如决策区域图、人工神经网络和顺序特征选择算法),并为其增加了更多功能。



各语言译本



亲爱的读者们
首先,我要感谢各位一直以来的支持!对于大家迄今为止发给我的所有积极反馈,我感到非常高兴,也很欣慰这本书对广大读者都十分有用。

在过去几个月里,我收到了数百封邮件,并且在有限的时间内尽力回复了尽可能多的邮件。为了让这些回答也能帮助其他读者,我在下面的常见问题解答部分收集了许多我的回复。

此外,还有一些读者询问我是否有一个平台可以让大家讨论书中的内容。我希望这能为大家提供一个与其他读者交流和分享知识的机会:

Google Groups 讨论板

(如果时间允许,我也会尽量亲自回答大家的问题! :))

对于好的建议,唯一要做的就是把它传递出去。它对自己从来没有任何用处。
— 奥斯卡·王尔德


读者提供的示例与应用

再次感谢大家对这本书的宝贵反馈。我收到了许多来自读者的邮件,他们将书中的概念和示例应用到了实际生活中,在各自的项目中发挥了很好的作用。在这一部分,我开始收集一些优秀的应用案例,也非常欢迎你将自己的项目加入到这个列表中——只需给我发一封简短的邮件即可!

常见问题解答

一般问题

关于机器学习领域的提问

关于机器学习概念和统计学的问题

成本函数与优化

回归分析

树模型

模型评估

逻辑回归

神经网络与深度学习

其他监督学习算法

非监督学习

半监督学习
集成方法
预处理、特征选择与特征提取
朴素贝叶斯
其他
数据科学与机器学习的编程语言和库

关于本书的问题

联系方式

我很乐意回答您的问题!请发送邮件至 mail@sebastianraschka.com,或者在 Google Groups 邮件列表 上提问。

如果您希望保持联系,我的 Twitter 账号 @rasbt 经常分享关于数据科学和机器学习的内容。此外,我还维护着一个博客 http://sebastianraschka.com/articles.html,会在上面发布我特别感兴趣的话题。

版本历史

v1.32016/09/30
v1.22016/03/27
v1.02015/10/06

常见问题

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|今天
开发框架图像Agent

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 真正成长为懂上

139k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|2天前
开发框架图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|今天
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|昨天
Agent图像开发框架