@freeCodeCamp:聚类是无监督机器学习中的一项关键技术,可帮助你在数据中发现有价值的见解。……

X AI KOLs Timeline 工具

摘要

freeCodeCamp 发布了一本关于 Python 聚类的综合手册,涵盖 K-means、层次聚类和 DBSCAN 聚类,并附有实现和可视化。

聚类是无监督机器学习中的一项关键技术,可帮助你在数据中发现有价值的见解。 在这本手册中,@tatevkaren7 解释了它在 Python 中的工作原理。 她介绍了 K-means 聚类、层次聚类和 DBSCAN 聚类,以及使用 t-SNE 进行可视化。 https://freecodecamp.org/news/clustering-in-python-a-machine-learning-handbook/…
查看原文
查看缓存全文

缓存时间: 2026/08/06 08:35

聚类是无监督机器学习中的一项关键技术,可帮助你发现数据中宝贵的洞察。

在这本手册中,@tatevkaren7 解释了它在 Python 中的工作原理。

她涵盖了 K-Means 聚类、层次聚类和 DBSCAN 聚类,以及如何使用 t-SNE 进行可视化。

https://freecodecamp.org/news/clustering-in-python-a-machine-learning-handbook/…


学习 Python 中的聚类——机器学习工程手册

来源:https://www.freecodecamp.org/news/clustering-in-python-a-machine-learning-handbook/ 学习 Python 中的聚类——机器学习工程手册想学习如何发现和分析数据中隐藏的模式吗?聚类是无监督机器学习中的一项重要技术,它掌握了发现宝贵洞察的关键,这些洞察可能会彻底改变你对复杂数据集的理解。

在这本综合手册中,我们将深入探讨必知的聚类算法和技术,并辅以一些理论作为支撑。然后,你将通过大量示例、Python 实现和可视化来了解这一切是如何运作的。

无论你是初学者还是经验丰富的数据科学家,这本手册都是掌握聚类技术的宝贵资源。你也可以在此处下载手册。(https://join.lunartech.ai/clustering-in-python)

如果你也喜欢通过听的方式学习,这里有一个 15 分钟的播客,我们将在其中更详细地讨论聚类。在这一集中,我们探讨聚类的基本概念,帮助你更深入地理解这些技术如何应用于真实世界的数据。

我们将讨论以下内容:

  1. 无监督学习简介 (https://www.freecodecamp.org/news/clustering-in-python-a-machine-learning-handbook/#heading-introduction-to-unsupervised-learning)
  2. 监督学习与无监督学习 (https://www.freecodecamp.org/news/clustering-in-python-a-machine-learning-handbook/#heading-supervised-vs-unsupervised-learning)
  3. 重要术语 (https://www.freecodecamp.org/news/clustering-in-python-a-machine-learning-handbook/#heading-important-terminology)
  4. 如何为无监督学习准备数据 (https://www.freecodecamp.org/news/clustering-in-python-a-machine-learning-handbook/#heading-how-to-prepare-data-for-unsupervised-learning)
  5. 聚类详解 (https://www.freecodecamp.org/news/clustering-in-python-a-machine-learning-handbook/#heading-clustering-explained)
  6. K-Means 聚类 (https://www.freecodecamp.org/news/clustering-in-python-a-machine-learning-handbook/#heading-k-means-clustering) - K-Means 聚类:Python 实现 (https://www.freecodecamp.org/news/clustering-in-python-a-machine-learning-handbook/#heading-k-means-clustering-python-implementation) - K-Means 聚类:可视化 (https://www.freecodecamp.org/news/clustering-in-python-a-machine-learning-handbook/#heading-k-means-clustering-visualization)
  7. 用于确定最佳聚类数(K)的肘部法则 (https://www.freecodecamp.org/news/clustering-in-python-a-machine-learning-handbook/#heading-elbow-method-for-optimal-number-of-clusters-k)
  8. 层次聚类 (https://www.freecodecamp.org/news/clustering-in-python-a-machine-learning-handbook/#heading-hierarchical-clustering) - 层次聚类:Python 实现 (https://www.freecodecamp.org/news/clustering-in-python-a-machine-learning-handbook/#heading-hierarchical-clustering-python-implementation) - 层次聚类:可视化 (https://www.freecodecamp.org/news/clustering-in-python-a-machine-learning-handbook/#heading-hierarchical-clustering-visualization)
  9. DBSCAN 聚类 (https://www.freecodecamp.org/news/clustering-in-python-a-machine-learning-handbook/#heading-dbscan-clustering) - DBSCAN 聚类:Python 实现 (https://www.freecodecamp.org/news/clustering-in-python-a-machine-learning-handbook/#heading-dbscan-clustering-python-implementation) - DBSCAN 聚类:可视化 (https://www.freecodecamp.org/news/clustering-in-python-a-machine-learning-handbook/#heading-dbscan-clustering-visualization)
  10. 如何使用 t-SNE 在 Python 中可视化聚类结果 (https://www.freecodecamp.org/news/clustering-in-python-a-machine-learning-handbook/#heading-how-to-use-t-sne-for-visualizing-clusters-with-python)
  11. 更多无监督学习技术 (https://www.freecodecamp.org/news/clustering-in-python-a-machine-learning-handbook/#heading-more-unsupervised-learning-techniques)

阅读完本书后,你将能够:

  1. 理解无监督学习的基础知识– 你将掌握监督学习与无监督学习之间的关键区别,以及聚类如何融入更广泛的机器学习领域。
  2. 掌握重要的聚类术语– 你将熟悉数据点、质心、距离度量和聚类评估方法等基本概念。
  3. 为聚类准备数据– 你将学习如何处理缺失值、规范化数据集、移除异常值,并应用 PCA 和 t-SNE 等降维技术。
  4. 深入理解聚类技术– 你将探索各种聚类方法,包括 K-Means、层次聚类和 DBSCAN,并理解何时使用每种方法。
  5. 在 Python 中实现 K-Means 聚类– 你将学习使用 Python 应用 K-Means 算法,使用肘部法则优化聚类数量,并有效地可视化聚类结果。
  6. 应用层次聚类– 你将理解凝聚式(Agglomerative)和分裂式(Divisive)聚类,学习如何构建树状图,并使用 Python 实现层次聚类。
  7. 使用 DBSCAN 进行基于密度的聚类– 你将掌握 DBSCAN 的聚类方法,包括识别噪声点和任意形状聚类的能力。
  8. 可视化聚类结果– 你将能够使用 Matplotlib、Seaborn 和 t-SNE 为聚类结果生成有意义的可视化,以有效分析和解释数据。
  9. 评估聚类性能– 你将学习如何使用轮廓系数、Davies-Bouldin 指数和 Calinski-Harabasz 指数等技术评估聚类质量。
  10. 使用真实世界的数据集– 你将获得将聚类技术应用于真实世界数据集的实践经验,包括客户细分、异常检测和模式识别。
  11. 将知识扩展到聚类之外– 你将了解其他无监督学习技术,如混合模型和主题建模,从而拓宽你在机器学习方面的专业知识。

阅读完这本手册后,你将拥有扎实的聚类和无监督学习基础,能够自信地分析复杂数据集并发现隐藏的模式!

先决条件

在深入学习这本关于聚类和无监督学习的手册之前,你应该对机器学习概念、数据预处理技术和基本的 Python 编程技能有扎实的理解。这些先决条件将帮助你掌握本书涵盖的理论基础和实践实现。

首先也是最重要的,你需要熟悉机器学习基础。你应该理解监督学习与无监督学习之间的区别,以及聚类技术背后的核心原理。

数据点、特征、距离度量(欧几里得、曼哈顿)和相似度度量等概念在聚类算法中起着重要作用。对概率、统计和线性代数的基本理解也将有益,因为这些数学概念构成了许多机器学习模型的基础。

其次,数据预处理技术对于处理真实世界的数据集至关重要。由于聚类算法严重依赖结构良好的数据,你需要知道如何处理缺失值、规范化或标准化数值特征,并移除可能扭曲聚类结果的异常值。

特征缩放(Min-Max 归一化、标准化)和降维(PCA、t-SNE)等技术可以提高聚类准确性和效率,使你更容易解释结果。

最后,熟练掌握 Python 编程和数据科学库是遵循本手册中动手实现所必需的。你应该能够熟练使用 NumPy 和 Pandas 进行数据操作,使用 Matplotlib 和 Seaborn 进行可视化,并使用 Scikit-learn 实现机器学习算法。

由于你将应用 K-Means、层次聚类和 DBSCAN 等聚类技术,熟悉使用 Jupyter Notebook 编写和执行 Python 脚本,以及解释聚类输出,将增强你的学习体验。

通过在这些领域打下坚实基础,你将做好充分准备,释放聚类的力量,并从数据中获得更深入的洞察。

无监督学习简介

无监督学习是机器学习中一种强大的技术。它使我们能够在没有预定义标签或目标变量的情况下,揭示数据中隐藏的模式和结构。与依赖带标签数据进行训练的监督学习不同,无监督学习让我们能够探索和理解无标签数据集中固有的结构。

无监督学习的一个关键应用是聚类。聚类是根据数据点内在的特征和相似性,将相似的数据点分组在一起的过程。通过识别数据集中的模式和关系,聚类帮助我们获得宝贵的洞察,并理解复杂的数据。

聚类在客户细分、异常检测、图像识别和推荐系统等多个领域都具有重要意义。它使我们能够识别数据中的不同群体,将数据分类为有意义的类别,并理解驱动数据集的潜在趋势。

在接下来的章节中,我们将更深入地探讨不同的聚类算法,如 K-Means、层次聚类和 DBSCAN,探索它们的理论、实现和可视化。阅读完本手册后,你将对无监督学习有全面的理解,并具备将各种聚类技术应用于自己的数据分析任务的知识和技能。

请记住,聚类只是无监督学习的一个方面,而无监督学习还提供了一系列其他技术和应用。那么,让我们深入探索无监督学习的精彩世界,以及它在从无标签数据中提取洞察方面所拥有的力量。

监督学习与无监督学习之间的区别 (https://www.lunartech.ai/bootcamp/ai-engineering-bootcamp)

监督学习与无监督学习

在机器学习领域,主要有两种方法:监督学习和无监督学习。理解这两种方法之间的区别,对于选择适合你数据分析需求的技术至关重要。

顾名思义,监督学习涉及在带标签的数据上训练机器学习模型。在这种方法中,输入数据由特征(也称为属性或变量)和相应的目标值或标签组成。模型从这些带标签的数据中学习,并根据新的、未见过的数据进行预测或分类。

另一方面,无监督学习完全在于探索无标签数据。对于无监督学习,数据不会带有预定义的标签或目标值。相反,算法会自行在数据中搜索模式、结构和关系。其目标是发现隐藏的洞察,并更深入地理解数据的潜在结构。

无监督学习的关键优势之一是其发现先前未知模式和关系的能力。在不受带标签数据约束的情况下,无监督算法可以揭示通过其他分析方法可能不明显的宝贵洞察。这使得无监督学习在探索性数据分析、异常检测和聚类中特别有用。

在监督学习中,目标变量是学习过程的引导力量,使模型能够做出准确的预测或分类。但对带标签数据的依赖也可能限制模型的能力,因为它可能难以处理训练数据中未出现的未表示或新模式。

相比之下,无监督学习允许更灵活和适应性更强的方法。即使在没有显式标签的情况下,它也能捕捉数据内部的结构和关系。通过利用聚类算法和降维技术,无监督学习为解开复杂数据集提供了强大工具。

总之,监督学习非常适合有带标签数据且目标是进行精确预测或分类的任务。而无监督学习在探索数据中隐藏模式和关系时很有价值,尤其是在带标签数据稀缺或不存在的情况下。

通过理解这两种方法之间的差异,你可以有效地选择正确的技术,充分发挥数据分析工作的潜力。

重要术语

为了充分理解无监督学习和聚类,熟悉与这些概念相关的关键术语至关重要。以下是你应该了解的一些重要术语:

1. 数据点

数据点指的是数据集中单个观察或实例。每个数据点包含各种特征或属性,描述特定对象或事件。

2. 聚类数

聚类数表示在聚类过程中数据将被划分成的不同组的期望数量或估计数量。这是决定最终聚类结构的重要参数。

3. 无监督算法

无监督算法是一种数学过程,用于在无需带标签或预先分类示例的情况下识别数据中的模式或关系。这些算法探索数据集的内在结构和复杂性,以揭示隐藏的洞察。

理解并利用这些术语将为你的无监督学习和聚类之旅奠定坚实的基础。在接下来的章节中,我们将更深入地探讨 Python 中聚类技术的实际方面和实现。

说明数据准备过程从收集到清洗、转换、简化(reduction)和拆分的插图。来自《机器学习数据准备:终极指南》| Pecan AI (https://www.lunartech.ai/bootcamp/ai-engineering-bootcamp)

如何为无监督学习准备数据

在实现无监督学习算法之前,确保数据准备得当至关重要。这涉及采取某些步骤来优化输入数据,使其适合使用聚类技术进行分析。以下是准备无监督学习数据时的重要考虑事项:

数据归一化

数据准备的一个关键方面是归一化,即将所有特征缩放到一致的范围内。这是必要的,因为数据集中的变量可能具有不同的单位或尺度。

归一化有助于避免在聚类过程中对任何特定特征产生偏差。常用的归一化方法包括最小-最大缩放和标准化。

处理缺失值

处理缺失值时,需要…

相似文章