Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

ForceInjection/hands-on-ML

Repository files navigation

动手学机器学习

本仓库提供结构化的机器学习学习路径,涵盖核心理论、可运行代码与典型实战案例,便于按章节循序学习与复现。


1. 项目概述

本项目整合了多个优质的机器学习学习资源:

  • NJU 软件学院课程:系统的机器学习理论与实践
  • 上海交大课程:《动手学机器学习》配套资源
  • 特征工程专题:《精通特征工程》实战案例
  • 零基础实战:极客时间机器学习课程

2. 学习路径

本章节按照机器学习的知识体系逻辑,以 NJU 软件学院课程为主线,辅以 上海交大《动手学机器学习》 资源,将理论学习与代码实战深度融合。建议初学者按照章节顺序循序渐进,从基础概念入手,逐步掌握监督学习、无监督学习及深度学习的核心算法。

2.1 导论与学习准备

理论学习:

上海交大配套资源:

2.2 监督学习算法

涵盖线性模型、决策树、SVM 等经典算法,利用标记数据解决分类与回归问题。

2.2.1 基础监督学习算法

理论学习:

上海交大配套资源:

2.2.2 集成学习

理论学习:

实战案例:

上海交大配套资源:

2.3 无监督学习

无需标记数据,探索数据内部的分布规律与潜在结构,涵盖聚类与概率估计。

2.3.1 聚类算法

理论学习:

上海交大配套资源:

2.3.2 概率模型与 EM 算法

理论学习:

上海交大配套资源:

2.4 特征工程

"数据决定模型的上限",深入掌握数据清洗、特征提取与构造技巧。

理论学习:

实战案例:

《精通特征工程》配套代码:

2.5 模型评估与调优

掌握科学的评估指标与调优策略(如交叉验证、网格搜索),提升模型泛化能力。

理论学习:

实战案例:

2.6 特征选择与降维

剔除冗余信息,通过特征选择与降维技术(如 PCA)提升模型效率与可解释性。

理论学习:

上海交大配套资源:

2.7 推荐系统

进阶算法应用,涵盖基于协同过滤的个性化推荐与矩阵分解技术。

理论学习:

2.8 概率图模型

处理不确定性的有力工具,涵盖贝叶斯网络与隐马尔可夫模型。

理论学习:

上海交大配套资源:

2.9 深度学习

从感知机到深度神经网络,探索自动特征学习与非线性建模的强大能力。

理论学习:

上海交大配套资源:


3. 参考资料

3.1 上海交大《动手学机器学习》

动手学机器学习

配套 PPT

教学视频:上海交大张伟楠机器学习课程

3.2 《精通特征工程》

精通特征工程

配套代码

3.3 极客时间《零基础实战机器学习》

零基础实战机器学习

课程链接 | 配套代码


4. 环境配置

本节介绍如何快速搭建可复现的 JupyterLab 环境,优先推荐使用 Docker 启动。

4.1 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

镜像构建逻辑与完整依赖清单见 DockerfileDockerfile_surprise

4.2 本地安装 JupyterLab

如需在本地(非 Docker)安装与使用 JupyterLab,请参考 jupyterlab_installation.md


About

动手学机器学习

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /