查看原文
其他

机器学习里的聚类分析技巧

过儿 大数据应用 2022-10-18

今日份知识你摄入了么?

当我们听说某人是个数据分析师,或是在商业智能领域工作时,这些职业的复杂性会让我们产生一种隐约的敬畏感。然而,这些职位背后的现实情况都是立足于现实生活中的数据分析渠道。

通常,数据一开始都是非结构化、互不相关的。数据分析师的首要任务是,在进行分析之前,先弄清楚数据。


对所有称职的分析师来说,最强大的工具就是数据聚类。今天,我们会给大家简要介绍各种聚类,以及在现实中该如何使用它们。


聚类是什么?


聚类是一种机器学习算法,是一种常用的数据分类技术。它属于无监督机器学习算法的范畴,在处理未标记和非结构化的数据时非常有用。



聚类是开始理解非结构化数据的好方法。


在这种算法中,我们通常只处理数据的特征,而没有任何目标标签或类。这些算法不需要人工干预就能发现隐藏的模式或数据分组。它能够发现信息中的相似性和差异性,是探索性数据分析的理想解决方案。


换句话说,聚类是一种数据挖掘技术,根据数据集的相似性或差异性进行分类。根据信息中展示出的结构或模式,它能把原始数据或未分类的数据分组。聚类算法可以分为几种类型,具体来说有排他型(exclusive)、重叠型(overlapping)、分级(hierarchical)和概率型(probabilistic)


为什么要使用聚类?


目的是把相同属性的项分组在一起。想象一下,你有数百万种化合物,但你看不见,也无法判断它们想要表达的是什么,它们之间有什么相似之处。通过聚类,你可以将这些上百万个聚类,根据它们之间的相似性,分成5或10个聚类,这样你就可以更容易地去分析这5或10个聚类,而不是单独地看每个化合物。


聚类的类型


我们可以根据不同的规则和参数对数据进行分类。从数据值的简单相似性到数据点之间的比较关系,有许多方法可以解决这个问题。对所有聚类技术进行分类的方法如下所示:


  • 1. 基于划分的聚类(Partition Based Clustering)

  • 2. 分级聚类(Hierarchical Clustering)

  • 3. 基于密度的聚类(Density-based Clustering)


在继续讨论实际应用之前,我们先来简要解释一下这些内容。


基于划分的聚类(Partition Based Clustering)


给定一个包含n个对象或数据元组的数据库,分区方法将划分k个数据的分区,其中每个分区代表一个集群。



这种聚类方法根据数据的特征和相似性将信息划分为多个组。要生成的集群的确切个数是由数据分析人员指定的。


在分区方法中,当数据库(D)包含多个(N)对象时,分区方法创建用户指定的K个分区,其中每个分区代表一个集群和一个特定的区域。


分级聚类(Hierarchical Clustering)


分级聚类,也称为分级聚类分析(hierarchical cluster analysis),是一种算法,将相似的对象分组为集群组。端点是一组集群,其中每个集群与其他集群不同,每个集群中的对象大致上彼此相似。



分级聚类首先将每个观察结果作为单独的集群处理。然后重复执行以下两个步骤:


  • (1)识别两个最接近的集群

  • (2)合并两个最相似的集群


然后一直反复持续这个过程,直到所有集群合并在一起。


基于密度的聚类(Density-based Clustering)


DBSCAN密度聚类(Density-Based Spatial Clustering of Applications with Noise)是一种著名的数据聚类算法,通常用于数据挖掘和机器学习。DBSCAN根据距离的长短(通常是欧几里得距离)把相互距离最小的点分组在一起。它还能将在低密度区域的那些点标记为异常值。



个案研究:K-Means聚类算法(K Means Clustering Algorithm)


K-Means是一种非常受欢迎的迭代聚类算法。它的目的是将一个数据集划分为多个组,每个数据点只能属于某一个聚类,目的是在每次迭代中寻找到局部极大值。这个算法大致分为五个步骤:


步骤0:找到一个适当的方法来可视化你的数据。你可以选择任意2到3个与图表相关的特征。我们将通过分割图中所示的数据来对数据进行聚类(分区)。


步骤1:选择集群数(k) ---- 集群数k =3

一个示例数据集,绘制了根据人们各自的收入批准给他们的贷款金额


步骤2:为每个集群选择一个随机的矩心(起始值)

步骤3:将所有点分配到它最近的聚类矩心

步骤4:不断重复,直到矩心不再变化,也就是说,将每个数据点都分配到了最近的集群


上图红色的点表示我们正在迭代的各个聚类矩心。我们选择K = 3,是因为我们假设数据能被充分地分为3类。


步骤5:重复步骤3和步骤4,直到每个K个聚类中心都得到稳定的解(K的计算改动变得足够小)。


当这个差值为0时,我们就可以停止了,然后,我们把收到的集群可视化。


上图是每个K(=3)的位置均值的最终结果。数据点是根据这些结果被分类到的3个类别中的颜色的。


K- means聚类算法在概念上是非常简练的,我们在所有问题中对K的决定都会影响这种方法对数据进行分类的方式。


应用


接下来,我们来看看在集群和其他技术协同工作下,帮助改善日常生活的一些有效方式。


1. 识别假新闻


假新闻并不是一种新的现象,但是在我们这个时代却变得越来越多。


问题在于:由于社交媒体等技术创新,假新闻得以快速产生和传播,这个问题在2016年美国总统竞选期间受到了强烈关注。在这次竞选中,“假新闻”这一词被引用的次数前所未有。


聚类的作用:获取假新闻文章的内容,语料库,检查所使用的词,然后对它们进行聚类。这些聚类有助于算法判断哪些新闻是真实的,哪些是假的。某些词汇通常出现在耸人听闻的标题式文章中。如果你在一篇文章中看到高比例的特定词汇时,这篇文章就很有可能是假新闻。


2. 识别欺诈或犯罪活动


在这个场景中,我们将重点关注出租车司机的欺诈行为。当然,该技术还被用于多个其他场景。


问题在于:你需要调查欺诈驾驶行为。你面临的挑战是,如何辨别哪些是真的,哪些是假的?


聚类的作用:通过分析GPS记录,算法能够对相似的行为进行分组。根据这些群体的特征,你就可以把他们分成真实的和欺诈的两类。


3.市场营销和销售


在市场营销中,个性化和定向投放是一项大业务。


这是通过观察一个人的具体特征,并与他们分享和他们类似的人取得反馈的活动来实现的。


问题在于:如果你是一家试图从营销投资中获得最佳回报的企业,你就必须以正确的方式瞄准目标用户。如果你做错了,就有可能进行不了任何推广,或者导致更坏的结果,损害客户的信任度。


聚类的作用:聚类算法能够将具有相似特征和购买可能的人聚在一起。一旦你有了这些分组,你就可以用不同的营销计划在每个组运行测试,有助于你以后更好地向他们传递信息。


聚类技术的世界是广阔的,我们也会在以后的文章逐步探索有效的方法。

原文作者:Aparna Singh

翻译作者:过儿

美工编辑:过儿

校对审稿:Jiawei Tong

原文链接:https://medium.com/develearn/an-introduction-to-clustering-techniques-feef8378c25d


往期精彩回顾


推荐系统入门101

长文详解统计学中的抽样技术

MIT花生酱三明治实例深入浅出学算法

不被PIP,SDE打工人如何保持知识库的更新度?

2021找人工智能相关工作的五个技巧




点「在看」的人都变好看了哦

点击“阅读原文”查看数据应用学院核心课

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存