数据挖掘-层次聚类

数据挖掘-层次聚类微信搜索 二十同学 公众号 欢迎关注一条不一样的成长之路层次聚类 hierarchical 算法极为简单 有 N 多节点 最开始认为每个节点为一类 然后找到距离最近的节点 两两合并 合并后的两个节点的平均值作为新的节点 继续两两合并的过程 直到最后都合并成一类 下图表明了聚类的过程 距离最近的节点合并 第一步中 如果有两对节点距离一样 那就同时合并 层次聚类过程如果用数据挖掘工具来做 如 SPSS 一般会生成一个树形图 那么我们可以根据分析问题的具体情况 选

微信搜索:“二十同学” 公众号,欢迎关注一条不一样的成长之路

层次聚类(hierarchical clustering)算法极为简单:有N多节点,最开始认为每个节点为一类,然后找到距离最近的节点“两两合并”,合并后的两个节点的平均值作为新的节点,继续两两合并的过程,直到最后都合并成一类。

下图表明了聚类的过程,距离最近的节点合并(第一步中,如果有两对节点距离一样,那就同时合并)

 

数据挖掘-层次聚类

层次聚类过程

如果用数据挖掘工具来做(如SPSS),一般会生成一个树形图,那么我们可以根据分析问题的具体情况,选择到底最终要聚成几类:

数据挖掘-层次聚类

层次聚类树形图

 

如果从纯理论上讲,判断聚成几类可以参考每一步合并的“距离”是不是有明显差距,我们的例子中:

可见,第二步到第三步,距离有了一个质的提升,说明相对接近的都已经合成一推儿,开始远距离“结合”了,因此,就在第二步的地方结束,应该是一个较好的聚类选择,也就是聚成3类。

当然,真正聚成几类一定不要从理论出发,还是要看实际案例中,聚成几类最合理,最好解释,最能说明问题

层次聚类运算速度比较慢,因为要每次都要计算多个cluster内所有数据点的两两距离,处理大量数据时非常吃力,最大的优点,就是它一次性地得到了整个聚类的过程,只要得到了上面那样的聚类树,想要分多少个cluster都可以直接根据树结构来得到结果,改变 cluster数目不需要再次计算数据点的归属。

 

非常感谢:点赞收藏评论

微信搜索:“二十同学” 公众号,或者直接扫一扫,关注一条不一样的成长之路

数据挖掘-层次聚类

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231371.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 微服务 eureka_变压吸附的原理

    微服务 eureka_变压吸附的原理文章目录前言一、Eureka是什么?二、Eureka是干什么的?1.服务治理三、Eureka原理解析1.总体流程2.读入数据总结前言       随着互联网技术的发展,系统用户量的增长,很多系统都采用了分布式的方式进行部署。这个固然大大提高了系统的性能和可用性,但是分布式部署导致各种服务数量大增,这给我们进行服务治理和运维带来了困扰。一、Eureka是什么?     &nbsp

    2022年4月19日
    39
  • android开发之AIDL用法_进程间通信原理详解

    转自http://blog.csdn.net/saintswordsman/article/details/5130947欢迎阅读本文,你能关注本文,你知道你需要进程间通信、需要AIDL(以及Binder),那么可以默认你对这些概念已经有了一些了解,你(大致)知道它们是什么,它们有什么用,所以为了节约大家的眼力和时间,在此我不复制粘贴网上泛滥的博客或者翻译冗长的android文档。

    2022年3月10日
    40
  • BigDecimal 加减乘除[通俗易懂]

    在java里面,int的最大值是:2147483647,现在如果想用比这个数大怎么办?换句话说,就是数值较大,这时候就用到了BigDecimal 下载整理了一下BigDecimal的加减乘除。。 BigDecimalbignum1=newBigDecimal(“10”); BigDecimalbignum2=newBigDecimal(

    2022年4月14日
    77
  • Linux中查询当前用户的命令总结

    Linux中查询当前用户的命令总结

    2022年3月12日
    62
  • JAVA实习生/应届生面试笔试题(一)

    一:单选题1. 下列哪一种叙述是正确的(D )A.abstract修饰符可修饰字段、方法和类B.抽象方法的body部分必须用一对大括号{}包住C.声明抽象方法,大括号可有可无D.声明抽象方法不可写出大括号2. 如下代码publicclassTest{publicintaMethod(){staticinti=0;i++;returni;}publicstatic…

    2022年4月9日
    83
  • 简述python中的数字类型有哪些_python中都有哪些数据类型

    简述python中的数字类型有哪些_python中都有哪些数据类型python中数据类型有:整型、长整型、浮点型、字符串类型、布尔类型、列表类型、元组类型、字典类型、集合类型。数据类型是每种编程语言必备属性,只有给数据赋予明确的数据类型,计算机才能对数据进行处理运算,因此,正确使用数据类型是十分必要的,不同的语言,数据类型类似,但具体表示方法有所不同,以下是Python编程常用的数据类型:1.数字类型Python数字类型主要包括int(整型)、long(长整型…

    2022年5月26日
    54

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号