统计学补充概念06-层次聚类

news/2024/5/20 5:59:33 标签: 聚类, 数据挖掘, 机器学习

概念

层次聚类是一种将数据点组织成层次结构的聚类方法,它逐步合并或划分数据点以形成聚类。这种方法不需要预先指定要形成的聚类数量,而是通过一系列步骤来建立聚类层次。层次聚类可以分为两种主要类型:凝聚型和分裂型。

凝聚型层次聚类(Agglomerative Hierarchical Clustering):在凝聚型方法中,每个数据点被视为一个单独的聚类,然后逐步将具有最小距离的聚类合并成更大的聚类,直到所有数据点都在一个大聚类中。这种方法从底部开始,形成一个聚类树或树状图,每个节点都代表一个聚类

分裂型层次聚类(Divisive Hierarchical Clustering):在分裂型方法中,所有数据点都被视为一个大聚类,然后逐步将聚类分裂成更小的聚类,直到每个数据点都在自己的聚类中。这种方法从顶部开始,形成一个倒置的聚类树。

步骤

层次聚类的步骤通常如下:

计算距离或相似度矩阵:首先,计算每对数据点之间的距离或相似度,用于衡量它们之间的关系。

初始化聚类:开始时,每个数据点被视为一个单独的聚类

合并或分裂聚类:根据一定的合并或分裂准则,逐步合并或分裂聚类,直到达到指定的停止条件。常用的合并准则包括单链接、完全链接和平均链接。

构建聚类层次:根据合并或分裂的步骤,构建聚类的层次结构,通常以树状图的形式表示。

根据需求截断层次:根据应用需求,可以选择在树状图中截断聚类层次,从而得到特定数量的聚类

代码实现

import numpy as np
from sklearn.cluster import AgglomerativeClustering
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt

# 创建一个示例数据集
n_samples = 150
n_features = 2
n_clusters = 3
X, y = make_blobs(n_samples=n_samples, n_features=n_features, centers=n_clusters, random_state=42)

# 使用凝聚型层次聚类
n_clusters_desired = 3
model = AgglomerativeClustering(n_clusters=n_clusters_desired)
model.fit(X)
labels = model.labels_

# 可视化聚类结果
plt.scatter(X[:, 0], X[:, 1], c=labels, cmap='rainbow')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.title('Agglomerative Hierarchical Clustering')
plt.show()


http://www.niftyadmin.cn/n/4958743.html

相关文章

windows开发环境搭建

下载msys2,官网下载即可: MSYS2 安装其他的编译工具(貌似不需要把中间的命令全部执行): MSYS2使用教程——win10系统64位安装msys2最新版(msys2-x86_xxxx.exe)_msys64_Dreamhai的博客-CSDN博…

ROS2 学习(五)接口,动作

接口 通信双方统一规定好接口。比如图像 img,控制运动的线速度和角速度…… 我们也不用了解具体实现,基本就是了解接口会去用就行。 $ ros2 interface list # 展示所有 interfaces $ ros2 interface show ... # 显示具体一个 interface $ ros2 package…

关于python如何使用sqlalchemy连接sap_hana数据库

1.先安装sqlalchemy pip install sqlalchemy 2.from sqlalchemy import create_engine 3.创建数据库连接方式: 假设数据连接方式如下: usernameH_TEOPT passwordww122222 jdbcUrljdbc:sap://192.163.1.161:21681/?currentschema 那么使用sqlalchemy 的…

在思科(Cisco)设备上配置 DHCP 服务器

DHCP广泛用于LAN环境中,从集中式服务器动态分配主机IP地址,从而显着减少IP地址管理的开销。DHCP 还有助于节省有限的 IP 地址空间,因为不再需要将 IP 地址永久分配给主机,只有连接到网络的主机才会使用 IP 地址。DHCP 服务器将路由…

服务接口出参入参切面日志设计

定义一个切面类 @Aspect @Slf4j public class LogAopConfig {@Around("@annotation(aopLog)")public Object aopLog(ProceedingJoinPoint point, AopLog aopLog) throws Throwable {final Signature signature = point.getSignature();final String value = aopLog.…

eNSP综合小实验:VRRP、MSTP、Eth-Trunk、NAT、DHCP等技术应用

完成下图要求: 拓扑图: 配置命令: 由于交换机日志太多不便于复制,所以就复制命令。大概步骤如下: 第一步先分配IP地址,在sw1和sw2上创建VLAN100用于e0/0/3口配IP,在sw1、sw2、sw3、sw4上创建VL…

思科计算机网络期末试答案解析,掌握关键知识点!

1.以下哪个域名是顶级域的一个示例? A.root.cisco.com B.www.cisco.com C.cisco.com D…com DNS根域下面是顶级域,由Internet域名注册授权机构管理。有三种类型的顶级域: 通用顶级域名(gTLD):最常见的通用顶级域名有七个,分别是com(公司企业)、net(网络服务机构)、…

leetcode做题笔记94. 二叉树的中序遍历

给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 思路一:模拟题意 void inorder(struct TreeNode*root,int* ans,int *resSize) {if(!root){return ;}inorder(root->left,ans,resSize);ans[(*resSize)] root->val;inorder(root->right…