监督学习:分类

在本课程中,我们将继续学习监督学习中的另一个重要应用——解决分类问题。在接下来的课程中,你将接触到:逻辑回归、K 近邻算法、朴素贝叶斯、支持向量机、感知器和人工神经网络、决策树和随机森林,以及 Bagging 和 Boosting 方法。课程将从每种方法的原理开始讲解。你需要充分理解这些方法的实现。

Python数据科学

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

通过 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,并调整已弃用的名称或参数。

教师

labby
Labby
Labby is the LabEx teacher.