mlwithme/MachineLearningWithMe
Star286 Fork51 最后更新2026-07-11

本仓库是图书《跟我一起学机器学习》的配套代码仓库,覆盖线性回归、KNN、贝叶斯、SVM、树模型、集成学习、聚类、降维等 10 余种经典统计机器学习算法的 sklearn 使用示例与 Python 从零实现过程,助力你轻松迈入机器学习的大门!

仓库简介#

MachineLearningWithMe 是书籍《跟我一起学机器学习》 的配套代码与资源仓库, 关于本书的介绍可以参见文章「《跟我一起学机器学习》第二版」的介绍。同时,你也可以 「点击此处」 进行在线阅读。

适用人群#

  • 正在阅读本站机器学习栏目、希望按章节动手复现的学习者;
  • 入门阶段需要 sklearn 接口 + 从零实现双版本对照的读者;
  • 希望系统理解经典机器学习算法数学推导与工程实现的研究/教学人员。

目录结构#

  • AllBooKCode/ — 当前主版本代码, 已通过 Python 3.11 测试, 通过 requirements_python311.txt 一键安装依赖。结构如下:
    • Chapter01 ~ Chapter13: 每章一目录, 配套书章节;
    • utils/: 通用数据加载、可视化与评估工具;
    • data/: 示例数据集;
  • AllBooKCodeV1/ — 旧版归档 (07 章结构, 含 KnowledgeIndex.md 知识索引), 仅供对照参考。

配套章节#

章节 重点小节
第 0 节 机器学习入门导读 机器学习入门导读:方法论比学习材料更重要
第 1 章 环境配置 Conda 与 Python 环境安装教程:机器学习开发环境配置
Jupyter Notebook 与 PyCharm 安装配置:机器学习开发环境教程
第 2 章 线性回归 线性回归原理与建模求解:公式推导与训练过程详解
多变量线性回归原理与 sklearn 实战示例
回归模型评估指标详解:MSE、RMSE、R2 与误差分析
梯度下降推导详解:线性回归参数迭代求解过程
线性回归目标函数推导:最小二乘与损失函数解析
第 3 章 逻辑回归 逻辑回归原理与建模求解:分类模型与训练过程详解
逻辑回归多分类任务:Softmax 回归原理与实战思路
分类评估指标详解:准确率、召回率与 F-score 解析
逻辑回归损失函数推导:交叉熵与最大似然估计
第 4 章 模型的改善与泛化 特征标准化原理与实现:归一化与标准化处理详解
过拟合处理方法详解:常见原因与正则化实战
L1 与 L2 正则化原理:权重衰减与过拟合抑制
偏差方差与交叉验证:模型选择与泛化性能分析
手写体识别实战教程:模型改善与泛化案例分析
第 5 章 K 近邻 KNN 算法原理详解:K 近邻思想、距离度量与分类过程
sklearn KNN 接口示例:K 近邻建模与预测实战
KD 树构建与搜索:KNN 加速原理详解
从零实现 KNN 算法:K 近邻分类代码实现详解
第 6 章 文本特征与模型复用 词袋模型原理:文本特征表示与机器学习建模
K 近邻垃圾邮件分类实战:文本分类示例详解
TF-IDF 词袋模型原理:带权文本特征表示方法
词云图生成教程:文本特征分析与可视化
第 7 章 朴素贝叶斯 朴素贝叶斯原理详解:条件概率与分类模型基础
Python 从零实现朴素贝叶斯:CategoricalNB 建模与训练
高斯朴素贝叶斯原理与 Python 从零实现详解
第 8 章 决策树 决策树原理与 sklearn 建模可视化教程
Python 从零实现决策树:ID3 与 C4.5 算法代码解析
CART 算法原理与 Python 从零实现:决策树生成与剪枝流程
第 9 章 集成学习与提升算法 随机森林原理与 Python 实战:集成学习树模型方法
AdaBoost 原理与 Python 实现:提升算法训练流程解析
Gradient Boost 原理与 Python 实现:梯度提升回归与分类
第 10 章 支持向量机 SVM 原理详解:支持向量、最大间隔与线性不可分核函数
SVM 分类边界原理:支持向量、最大间隔与超平面
拉格朗日乘数法详解:SVM 优化推导核心工具
SVM KKT 条件详解:支持向量机约束优化基础
SVM 核函数原理:无穷维映射与高斯核等常见核函数
Python 实战从零实现 SVM:支持向量机分类算法代码解析
第 11 章 聚类分析 Kmeans 聚类原理详解:经典算法与求解计算过程
Python 从零实现 Kmeans 聚类算法:随机初始化与迭代收敛
Kmeans++ 原理与从零实现教程:聚类中心初始化策略
聚类外部评价指标详解:聚类纯度、NMI 与 ARI 解析
加权 Kmeans 聚类算法:特征权重与软聚类实现
Kmeans K 值选取:肘部法与轮廓系数实战分析
DBSCAN 密度聚类算法:原理与基于密度的聚类实现
层次聚类算法原理与实现:聚类树构建与结果分析
第 12 章 降维算法 PCA 主成分分析原理与 Python 从零实现教程
核主成分分析 KPCA 原理与 Python 实现:非线性降维方法
第 13 章 自训练与标签传播 Self-Training 自训练算法详解:半监督学习方法
Label Propagation 算法原理与 Python 实现教程:标签传播半监督学习
Label Spreading 算法详解:半监督学习中的标签扩散方法

使用方式#

git clone https://github.com/mlwithme/MachineLearningWithMe.git
cd MachineLearningWithMe/AllBooKCode
pip install -r requirements_python311.txt

进入对应 ChapterXX 目录, 按 README 与正文提示运行示例脚本即可。Python 版本推荐 3.11。

相关链接#