层次聚类的时间控制

本文讨论了聚类算法中距离函数的重要性,并介绍了如何根据数据特征选择合适的距离函数,如欧式距离和余弦相似度等。此外,还强调了控制聚类层数及减少样本间比较次数对于提高效率的作用。
部署运行你感兴趣的模型镜像

 

聚类的关键在于根据数据特征导出距离函数。找到距离函数,聚类就成功了一半了。距离函数包括两个样本直接的欧式距离,余弦相似度,person相似度等等。根据不同的情景,选择不同距离函数。距离函数可以另外增加一些类别信息,如控制每个类别下样本的个数。

(1)控制聚类的层数非常重要。控制层数,可以控制,最终的聚类结果,关键是减少时间。
(2)当有几万个样本,要聚成几千个类的时候。减少每个样本和其他样本的比较个数非常重要。

怎么理解数学:首先搞清楚问题,直观理解问题的实质,最后才是看怎么用数学的语言描述问题,解决问题。

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

### 层次聚类算法的原理与实现 #### 1. 原理概述 层次聚类算法是一种无监督学习方法,其核心在于通过计算样本间的相似度或距离,在不同层次上逐步分析数据并形成树形结构。该算法可以划分为两类:**凝聚型层次聚类(Agglomerative Hierarchical Clustering)** 和 **分裂型层次聚类(Divisive Hierarchical Clustering)**[^1]。 - 凝聚型层次聚类采用自底向上的方式,初始阶段将每个样本视为独立的一个簇,随后按照某种准则不断合并最接近的簇,直至达到预设条件或将所有样本归为一个大簇。 - 分裂型层次聚类则采取相反策略,即从整体出发,逐层分割成更小的子簇。 在实际应用中,凝聚型层次聚类更为常见,因为它通常具有较低的时间复杂度和更高的可解释性[^2]。 #### 2. 距离度量与链接方法 为了衡量两个簇之间的相似程度,层次聚类依赖于不同的距离度量标准以及相应的链接方法: - 单连接法(Single Linkage):定义两簇之间最小的距离作为它们的整体距离。 - 完全连接法(Complete Linkage):取两簇间最大距离表示两者关系。 - 平均连接法(Average Linkage):利用每一对成员平均距离评估簇间关联强度[^3]。 这些方法的选择直接影响最终形成的分组效果及其特性。 #### 3. Python 实现示例 以下是基于 `scipy` 库实现简单版本的凝聚层次聚类过程: ```python from scipy.cluster.hierarchy import linkage, dendrogram, fcluster import matplotlib.pyplot as plt import numpy as np # 创建随机数据点 np.random.seed(42) data = np.random.rand(10, 2) # 使用linkage函数执行层次聚类 Z = linkage(data, 'single') # 可替换为'complete', 'average' # 绘制谱系图(dendrogram),可视化层次结构 plt.figure(figsize=(8, 5)) dendrogram(Z) plt.title('Dendrogram') plt.xlabel('Data Points') plt.ylabel('Distance') # 利用fcluster提取特定数量的簇 clusters = fcluster(Z, t=1.5, criterion='distance') # 设置阈值t决定划分数目 print(clusters) ``` 上述代码片段展示了如何加载数据、调用 `linkage()` 进行层次化处理,并借助 `dendrogram()` 显示结果图形。最后一步可通过调整参数进一步控制具体分类数目的获取。 --- ####
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值