层次聚类,层次聚类和树状图(WPGMA和UPGMA方法)(Matlab代码实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

 ⛳️赠与读者

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


 ⛳️赠与读者

👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑。哲学是科学之母,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。

     或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎

💥1 概述

层次聚类是一种将数据点逐步分组形成层次结构的聚类方法,可以通过树状图(树状图表示法)来展示不同聚类级别的关系。WPGMA(加权平均法)和UPGMA(未加权平均法)是常见的层次聚类算法,它们基于距离或相似性度量来计算不同聚类之间的距离,并逐步合并最相似的聚类。这些方法在生物学、社会科学和信息检索等领域得到广泛应用,帮助理解数据集内部的结构和关系。

层次聚类,层次聚类和树状图(WPGMA和UPGMA方法),此函数定义了任意矩阵的层次聚类,并显示相应的树状图。
根据以下选项执行层次聚类:
- 方法:WPGMA或UPGMA
- 度量:由用户定义的任意匿名函数,用于衡量向量的不相似度
- 聚类参数:簇的数量或不相似度限制
该函数返回连接树、聚类、排名项目列表,并可选择基于不相似度矩阵计算的树状图。

层次聚类是一种基于相似度或距离的聚类算法,它将数据点逐渐合并成越来越大的簇。在层次聚类中,每个数据点最初被视为一个单独的簇,然后根据它们之间的相似度或距离逐渐合并成更大的簇,最终形成一个包含所有数据点的完整的聚类结果。

层次聚类方法中,WPGMA(Weighted Pair Group Method with Arithmetic Mean)和UPGMA(Unweighted Pair Group Method with Arithmetic Mean)是两种常用的树状图方法。

在WPGMA方法中,每次簇的合并是通过计算两个簇中所有点之间的平均距离来实现的,然后依据这个距离来确定最佳的合并方式。

在UPGMA方法中,每次簇的合并也是通过计算两个簇中所有点之间的平均距离来实现的,但在这种情况下,被合并的两个簇的点数被视为有相同的权重。

树状图是一种用来可视化数据点之间的相似度或距离的图形表达方式,层次聚类方法产生的结果通常可以通过树状图来展示。在树状图中,数据点被表示为叶节点,簇的合并过程则通过连接节点的方法来呈现。

通过研究层次聚类和树状图,我们可以更好地了解数据点之间的相似性和联系,有助于我们发现数据集中的潜在模式和结构。此外,层次聚类和树状图的研究也为我们提供了一种有效的数据可视化和分析方法,有助于我们更好地理解复杂数据之间的关系。

📚2 运行结果

部分代码:

function varargout = Hierarchical_clustering(Matrix,Method,Metric,Parameter,Value,Colormap)

% Data control
Matrix = Data_control(Matrix,Method,Metric,Parameter,Value,Colormap);

if nargout == 4    

    % Creation of the bars corresponding to values
    [Figure, Axes, Bars] = Creation_bars(Matrix,Colormap);
    
end

% Linkage
Tree = Linkage(Matrix,Method,Metric);

% Analysis of tree
[Roots, Clusters, Number] = Analysis(Tree,Parameter,Value);

if nargout == 4
    
    % Creation of the dendrogram
    Axes = Creation_dendrogram(Axes,Bars,Tree,Roots,Clusters,Matrix,Method,Metric,Number,Colormap);
    
    % X axes link
    linkaxes(Axes,'x');
    
end

% Output arguments
switch nargout
    case 3
        varargout{1} = Tree;
        varargout{2} = Clusters;
        varargout{3} = Roots;
    case 4
        varargout{1} = Figure;
        varargout{2} = Tree;
        varargout{3} = Clusters;
        varargout{4} = Roots;
end

end

% Data control
function Matrix = Data_control(Matrix,Method,Metric,Parameter,Value,Colormap)

% Matrix
[n,m] = size(Matrix);
if n < m
    Matrix = Matrix';
end

% Method
switch upper(Method)
    case {'WPGMA','UPGMA'}
    otherwise, error('Clustering method must be ''WPGMA'' or ''UPGMA''.');
end

% Metric
switch class(Metric)
 

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]杨汉碧,徐克学.中国杜鹃花属高山杜鹃亚组的数量分类研究[J].植物研究, 1983(03):75-86.DOI:CNKI:SUN:MBZW.0.1983-03-003.

[2]淦文燕,李德毅,王建民.一种基于数据场的层次聚类方法[J].电子学报, 2006, 34(2):258-262.DOI:10.3321/j.issn:0372-2112.2006.02.014.

[3]梁斌梅.基于层次聚类识别数据集前n个全局孤立点[J].计算机工程与应用, 2012, 048(009):101-103,107.

🌈4 Matlab代码实现

资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取

                                                           在这里插入图片描述

  • 26
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值