在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
大家好!在这篇文章中,我将向你展示如何在R中进行层次聚类。 什么是分层聚类? 分层聚类是一种可供选择的方法,它可以自下而上地构建层次结构,并且不需要我们事先指定聚类的数量。 该算法的工作原理如下: 将每个数据点放入其自己的群集中。 确定最近的两个群集并将它们组合成一个群集。 重复上述步骤,直到所有数据点位于一个群集中。 一旦完成,它通常由树状结构表示。 让我们看看分层聚类算法可以做得多好。我们可以使用hclust这个。hclust要求我们以距离矩阵的形式提供数据。我们可以通过使用dist。默认情况下,使用完整的链接方法。 这会生成以下树形图: 从图中我们可以看出,群集总数的最佳选择是3或4: 要做到这一点,我们可以使用所需数量的群集来切断树cutree。 现在,让我们将它与原始物种进行比较。 它看起来像算法成功地将物种setosa的所有花分为簇1,并将virginica分为簇2,但是与花斑杂交有困难。如果你看看显示不同物种的原始图,你可以理解为什么: 让我们看看我们是否可以通过使用不同的连接方法更好。这一次,我们将使用平均连接方法: 这给了我们以下树状图: 我们可以看到,群集数量的两个最佳选择是3或5.让我们用cutree它来将它降到3个群集。 我们可以看到,这一次,该算法在聚类数据方面做得更好,只有6个数据点出错。 我们可以如下绘制它与原始数据进行比较: 这给了我们下面的图表: 内部颜色与外部颜色不匹配的所有点都是不正确聚类的点。
【服务场景】 科研项目; 公司项目外包 ;线上线下一对一培训 ;学术研究。
【大数据部落】提供定制化的一站式数据挖掘和统计分析咨询服务
分享最新的大数据资讯,每天学习一点数据分析,让我们一起做有态度的数据人
微信客服号:lico_9e
QQ交流群:186388004
欢迎关注微信公众号,了解更多数据干货资讯!
|
请发表评论