层次聚类算法解析(层次聚类算法的优缺点解析),小编带你了解更多信息 。
介绍
任何行业中,了解客户行为都是至关重要的 。去年,我的首席营销官问 “现有客户中哪些客户应作为新产品的目标用户?”时,我就意识到了这一点 。
对我来说,这是一个很好的学习曲线 。我意识到了细分客户是多么重要,这样企业就可以制定和构建针对性策略 。聚类的概念在这里变得非常方便!
像细分客户这样的问题通常很棘手,因为我们没有任何目标变量供考虑 。我们处在一个无监督学习的状态,需要从中找出模式和结构,而不用考虑一个既定的结果 。作为一名数据科学家,这既具有挑战又令人兴奋 。
文章插图
文章插图
有几种不同的方法可以执行聚类(如下所示) 。我将在本文中向您介绍其中一种–层次聚类 。
我们将了解层次聚类是什么,它优于其他聚类算法的优势,不同类型的层次聚类以及执行它的步骤 。我们最终使用客户细分数据集在Python中实现层次聚类 。我很喜欢这种技术,我相信你也会在看完这篇文章之后做到这一点!
注意:如上所述,有多种方法可以执行群集 。我鼓励您在文末链接查看介绍不同类型群集的精彩指南 。
目录
- 监督学习与无监督学习
- 为什么采用层次聚类
- 什么是层次聚类
- 层次聚类的类型
- 聚合层次聚类
- 分裂层次聚类
- 执行层次聚类的步骤
- 如何选择层次聚类中的聚类数
- 使用层次聚类解决客户细分问题
在深入层次聚类之前,理解有监督和无监督学习之间的区别非常重要 。让我用一个简单的例子解释这个差异 。
假设我们想要估算每天在城市租用的自行车数量:
文章插图
文章插图
或者假设我们想要预测泰坦尼克号上的人是否幸存:
文章插图
文章插图
我们在这两个示例中都有一个固定的目标:
- 在第一个例子中,我们必须根据季节,假日,工作日,天气,气温等特征预测自行车的数量 。
- 我们在第二个例子中预测乘客是否幸存 。在’Survived’变量中,0代表该人丧生,1代表该人幸存 。这里的自变量包括船票等级,性别,年龄等 。
让我们从下图直观地理解这一点:
这里y是我们的依赖变量,或叫做目标变量,X代表自变量 。目标变量依赖于X,因此它也被称为因变量 。我们使用自变量在目标变量的监督下训练我们的模型,因此命名为监督学习 。
在训练模型时,我们的目标是生成将自变量映射到所需目标的函数 。一旦模型被训练,模型就可以通过新的观测值预测它们的目标 。简而言之,这是有监督的学习 。
但是可能存在我们没有任何目标变量来预测的情况 。没有任何明确的目标变量的这些问题被称为无监督学习问题 。我们在这些问题中只有自变量而没有目标/因变量 。
在这些情况下,我们尝试将整个数据划分为一些组 。这些组称为集群,制作这些集群的过程称为聚类 。
该技术通常用于将群体聚类到不同的群组中 。一些常见示例包括细分客户,将文档归类在一起,推荐相似的歌曲或电影等 。
有许多无监督学习的应用 。如果您遇到任何有趣的应用程序,请随时在下面的评论部分分享!
现在,有各种算法可以帮助我们划分这些集群 。最常用的聚类算法是K-means和Hierarchical clustering(层次聚类) 。
为什么使用层次聚类
在我们深入层次聚类之前,我们应该先了解K-means的工作原理 。相信我,它将使层次聚类的概念变得更加容易 。
以下是K-means工作原理的概述: