无监督学习:聚类

在本课程中,你将全面理解无监督学习,并学会使用无监督学习进行数据聚类。

Python数据科学

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

简介

通过 9 个 Jupyter Notebook,学习聚类如何从无标签数据中发现结构。课程从监督与无监督学习的区别出发,依次学习基于质心、层次、密度和图的方法,再比较不同算法面对不同数据形状与规模时的表现。

课程结合算法直觉、部分 Python 实现、scikit-learn 模型和应用练习。你将通过像素聚类压缩图像,绘制小麦种子树状图,定位共享单车高密度区域与异常点,并对 8 种聚类方法进行基准比较。

你将学到什么

  • 区分无监督聚类与监督预测
  • 实现 K-Means 核心步骤,并研究 K 值选择、K-Means++ 和 Mini-Batch K-Means
  • 使用 Mini-Batch K-Means 对像素分组以压缩图像颜色
  • 比较 linkage 策略,构建凝聚层次,并探索 BIRCH 与 PCA
  • 为小麦种子数据创建和截断层次树状图
  • 将 DBSCAN 与 HDBSCAN 概念用于不规则簇、密度参数和噪声
  • 使用 DBSCAN 聚类共享单车坐标并标记空间异常点
  • 使用谱聚类,并在 moons、circles、blobs 和不同数据规模上比较 8 种算法

本课程适合谁

本课程适合具备 Python 与入门机器学习经验、希望理解不同聚类家族适用场景的学习者。它适合准备把距离、质心、密度、层次树、图结构、可视化结果和运行时间权衡联系起来的人。Notebook 虽标记为初级,但内容已超出第一门编程课。

前置要求: 建议掌握 Python、NumPy、Pandas、Matplotlib 和 scikit-learn 基本工作流。熟悉向量、距离、矩阵和模型 API 会有帮助;无需已有聚类经验。

学习环境: 9 个活动均在课程提供的 Ubuntu 22.04 Jupyter 环境中运行。预置 Notebook 包含讲解、可视化、配套图像与 CSV 数据、可执行示例和代码补全任务。

常见问题

课程会实现聚类算法,还是只调用 scikit-learn?

两者都有。Notebook 会讲解 K-Means、层次聚类、DBSCAN 和谱聚类的核心思想与部分实现步骤,再使用 scikit-learn 和 SciPy 完成实际模型与树状图。

课程覆盖哪些聚类方法?

包括 K-Means、K-Means++、Mini-Batch K-Means、凝聚聚类、BIRCH、DBSCAN、HDBSCAN 概念、谱聚类、Affinity Propagation 和 Mean Shift。

除了合成点云,还有实际应用练习吗?

有。你会压缩一张成都图像,聚类小麦种子测量数据,并分析共享单车经纬度以识别高密度区域和可能的异常点。

所有示例都能原样复制到最新版 scikit-learn 吗?

课程预置环境支持这些 Notebook,但部分示例使用较旧参数名,例如凝聚聚类中的 affinity。迁移到新环境时应查阅当前文档并更新已弃用参数。

教师

labby
Labby
Labby is the LabEx teacher.