Advertisement

机器学习中的层次聚类与代码示例部分

阅读量:

一、层次聚类

层次聚类属于无监督学习范畴,在数据挖掘领域中被广泛应用于数据分组分析。该方法可用于将N个待分类样本按照层次进行分类,并通过设定合适的终止条件来完成最终分类目标。具体而言,在算法运行过程中会持续评估并动态调整各类别之间的关系直至满足以下条件:类别数量达到设定值或类别间距离超过预设阈值。

1、层次聚类的划分

对于层次聚类,可具体分为:

a. 凝聚的(agglomerative)层次聚类:

基于自底向上的策略:首先将每个样本单独成为一个簇或类;随后持续计算各类之间的相似度或距离;并不断合并当前最接近的两个簇或类;直至满足特定终止条件时停止。(此过程类似于哈夫曼编码算法的设计思路)

b. 分裂的(divisive)层次聚类:

基于自顶向下的方法,在初始阶段将所有样本初始化为一个簇(即初始类),随后逐步将其划分为更小的子类。直至达到特定终止条件时停止。(这种技术思路与决策树算法有相似之处)

2、类间的距离

在聚类分析的过程中,通常会根据类别间的特征来计算其距离或相似度用于凝聚或分隔类别并决定是否停止迭代的过程

a. SingleLinkage/Nearest-Neighbor:

将两个类别之间的距离定义为这两类中最接近的样本对之间的距离。具体而言,在这种计算方法下所生成的聚类结果可能会显得较为松散,并且这种松散性会随着数据分布的

全部评论 (0)

还没有任何评论哟~