本仓库提供结构化的机器学习学习路径,涵盖核心理论、可运行代码与典型实战案例,便于按章节循序学习与复现。
本项目整合了多个优质的机器学习学习资源:
- NJU 软件学院课程:系统的机器学习理论与实践
- 上海交大课程:《动手学机器学习》配套资源
- 特征工程专题:《精通特征工程》实战案例
- 零基础实战:极客时间机器学习课程
本章节按照机器学习的知识体系逻辑,以 NJU 软件学院课程为主线,辅以 上海交大《动手学机器学习》 资源,将理论学习与代码实战深度融合。建议初学者按照章节顺序循序渐进,从基础概念入手,逐步掌握监督学习、无监督学习及深度学习的核心算法。
理论学习:
- 人工智能与机器学习概述
- 机器学习通用流程与核心概念
- 数据准备与数据处理
- 机器学习数学基础
- 通俗理解机器学习核心概念
- 梯度下降算法:从直觉到实践 | 配套代码
- 混淆矩阵评价指标
- 数学中希腊字母表
- 误差 vs 残差
上海交大配套资源:
涵盖线性模型、决策树、SVM 等经典算法,利用标记数据解决分类与回归问题。
理论学习:
- 动手学机器学习线性回归算法 | 配套代码
- 动手学机器学习逻辑回归算法 | 配套代码
- 动手学机器学习 KNN 算法 | 配套代码
- 动手学机器学习朴素贝叶斯算法 | 配套代码
- 动手学机器学习决策树算法 | 配套代码
- 动手学机器学习支持向量机算法 | 配套代码
上海交大配套资源:
- 第 3 章 k 近邻算法 | 习题解答
- 第 4 章 线性回归 | 习题解答
- 第 6 章 逻辑斯谛回归 | 习题解答
- 第 11 章 支持向量机 | 习题解答
- 第 12 章 决策树 | 习题解答
理论学习:
实战案例:
上海交大配套资源:
无需标记数据,探索数据内部的分布规律与潜在结构,涵盖聚类与概率估计。
理论学习:
- K-Means 聚类算法 | 配套代码
- 层次聚类算法 | 配套代码
- DBSCAN 密度聚类算法 | 配套代码
上海交大配套资源:
理论学习:
上海交大配套资源:
“数据决定模型的上限”,深入掌握数据清洗、特征提取与构造技巧。
理论学习:
实战案例:
《精通特征工程》配套代码:
掌握科学的评估指标与调优策略(如交叉验证、网格搜索),提升模型泛化能力。
理论学习:
实战案例:
剔除冗余信息,通过特征选择与降维技术(如 PCA)提升模型效率与可解释性。
理论学习:
上海交大配套资源:
进阶算法应用,涵盖基于协同过滤的个性化推荐与矩阵分解技术。
理论学习:
- 推荐系统入门
- 协同过滤推荐算法:原理、实现与分析 | 配套代码
- 基于内容的推荐算法:原理与实践
- 一文读懂 SVD 推荐算法:矩阵分解的直观解释与示例
- 基于矩阵分解的推荐算法:原理与实践 | 配套代码
- 理解推荐系统中的 Embedding 表示
- 常见推荐算法对比分析
- 使用 Apriori 算法进行关联分析:原理与示例
处理不确定性的有力工具,涵盖贝叶斯网络与隐马尔可夫模型。
理论学习:
上海交大配套资源:
从感知机到深度神经网络,探索自动特征学习与非线性建模的强大能力。
理论学习:
上海交大配套资源:
本节介绍如何快速搭建可复现的 JupyterLab 环境,优先推荐使用 Docker 启动。
本仓库提供了基于 Docker 的 JupyterLab 启动脚本 run_jupyterlab.sh。脚本会在本地构建镜像并创建容器,默认将宿主机 127.0.0.1:8888 映射到容器端口 8888,将当前仓库目录挂载到容器的工作目录(/home/jovyan/work),并额外挂载 ./fonts 与 ./config/matplotlibrc 以改善中文字体与 Matplotlib 配置的可用性。启动成功后会输出可直接访问的 URL(包含 token)。
前置条件:
- 已安装并启动 Docker
启动方式:
# 在仓库根目录执行
bash run_jupyterlab.sh如需强制重建镜像:
# --build 会停止并删除现有容器,然后基于所选 Dockerfile 重建镜像
bash run_jupyterlab.sh --build镜像选择与依赖策略:
- 默认使用 Dockerfile 构建镜像,不显式锁定版本,构建时由 pip 自动选择并安装较新的依赖版本;
- 如需使用
scikit-surprise,请使用 Dockerfile_surprise 构建镜像,该环境会显式约束numpy<2.0.0以保证兼容性。
如需启用 scikit-surprise(也支持 --surprise=true/false):
# 使用 Dockerfile_surprise 构建镜像并启动
bash run_jupyterlab.sh --surprise镜像构建逻辑与完整依赖清单见 Dockerfile 与 Dockerfile_surprise。
如需在本地(非 Docker)安装与使用 JupyterLab,请参考 jupyterlab_installation.md。


