通过 10 个 Jupyter Notebook,系统建立经典监督分类基础。你将学习主要算法如何作出决策,用 Python 实现部分核心机制,构建 scikit-learn 模型,可视化结果,并通过交叉验证比较分类器。
课程把数学思想与代码连接起来:逻辑回归的 Sigmoid 与对数损失、KNN 的距离与投票、朴素贝叶斯的概率、SVM 的间隔与核、决策树的信息增益、神经网络的反向传播,以及集成学习的模型组合。聚焦式代码补全练习会强化高斯分布、数字识别和模型选择。
你将学到什么
- 推导并实现包含 Sigmoid、对数损失、梯度下降和 scikit-learn 的逻辑回归
- 从距离计算与投票构建 KNN 分类,并研究 K 值选择和 kd-tree
- 应用贝叶斯定理、参数估计、多项式朴素贝叶斯和高斯分布
- 比较线性与非线性支持向量机及常见核函数
- 实现感知器训练与反向传播,并使用
MLPClassifier分类手写数字 - 运用信息增益、剪枝和 scikit-learn 构建决策树
- 训练 Bagging、随机森林、AdaBoost 和梯度提升分类器
- 预处理鲍鱼数据,并通过 10 折交叉验证比较 7 类分类器
本课程适合谁
本课程适合已经掌握 Python、希望深入理解多种经典分类方法而不只是调用单个估计器的学习者,也适合从机器学习入门转向算法比较和模型选择的人。Notebook 虽标记为初级,但包含数学推导和手写组件,不适合刚开始学习编程或基础代数的人。
前置要求: 建议掌握 Python、NumPy、Pandas、绘图和基础代数;熟悉概率、导数、训练/测试集划分以及特征与标签概念会更有帮助。
学习环境: 10 个活动均在课程提供的 Ubuntu 22.04 Jupyter 环境中运行。Notebook 结合了讲解、可视化、可运行的 scikit-learn 示例、配套数据文件和需要补全的代码段。
常见问题
课程是从头实现算法,还是使用 scikit-learn?
两者都有。多个 Notebook 会推导并编写逻辑回归梯度下降、KNN 距离与投票、感知器更新和决策树划分等核心机制,再使用 scikit-learn 估计器完成实际训练与比较。
课程覆盖哪些分类器?
包括逻辑回归、KNN、朴素贝叶斯、线性与核 SVM、感知器与多层神经网络、决策树、Bagging、随机森林、AdaBoost 和梯度提升。
会教授模型评估与选择吗?
会。单个实验会计算预测准确率,最后一个 Notebook 还会预处理鲍鱼数据,并在默认参数下用 10 折交叉验证比较 7 类分类器。
示例可以直接复制到当前版本的本地 scikit-learn 项目吗?
课程预置环境支持这些 Notebook,但部分示例使用较早时期的导入路径或构造参数。迁移到较新的本地版本时,应核对当前 API,并调整已弃用的名称或参数。





