【Matlab】聚类方法_层次聚类

1.基本思想

层次聚类的基本思想是将数据集中的每个样本看作一个独立的簇,然后将这些簇逐步合并成更大的簇,直到最终形成一个包含所有样本的簇为止。这个过程可以用树状图(dendrogram)来表示,树状图的叶子节点表示每个样本,树的每个节点表示一个聚类,树的高度表示聚类的距离或相似度。

层次聚类分为两种方法:自上而下(AGNES)和自下而上(DIANA)。

自上而下方法(AGNES)从所有数据点作为单个簇开始,不断地将相邻的簇合并,直到所有点都在一个簇中。这种方法产生的树状图可以用来确定聚类的数量和最终的聚类结果。

自下而上方法(DIANA)从每个数据点作为一个簇开始,然后逐步将相似的簇合并,直到所有点都在一个簇中。这种方法对于处理大数据集比较高效。

在层次聚类中,簇之间的距离可以通过不同的距离度量方法(如欧几里得距离、曼哈顿距离、切比雪夫距离等)来计算,同时可以选择不同的聚类合并策略(如单链接、完全链接、平均链接等)来确定簇与簇之间的相似度。

2.数据集介绍

鸢尾花(Iris)数据集是一个经典的数据集,用于机器学习和统计学习中的分类和聚类问题。该数据集包含了三种不同类型的鸢尾花(山鸢尾、变色鸢尾和维吉尼亚鸢尾)的测量数据,每种花各有50个样本。每个样本包含四个特征,即萼片长度、萼片宽度、花瓣长度和花瓣宽度,以及它所属的鸢尾花类型。

该数据集最早由英国统计学家和生物学家Ronald Fisher在1936年的一篇论文中介绍,并一直被广泛用于分类和聚类问题的研究中。由于其简单性和广泛应用性,鸢尾花数据集已成为了机器学习和统计学习中的标准数据集之一。

本文采用的数据是.xlsx格式,前四列为样本的特征值,最后一列为样本的标签,标签值为1,2,3

3.文件结构

在这里插入图片描述

iris.xlsx						% 鸢尾花数据集,具体格式参考第2部分
Main.m							% 主函数

4.详细代码及注释

% 清空变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行

% 读取数据
data = readtable('iris.xlsx');
X = table2array(data(:, 1:4));

% 调用层次聚类函数
Z = linkage(X, 'single');
% 'single'单连接(single linkage)
% 'complete'完全连接(complete linkage)
% 'average'平均连接(average linkage)
% 'weighted'加权连接(weighted linkage)
% 'centroid'中心连接(centroid linkage)

% 绘制聚类树状图
figure
dendrogram(Z)
title('Dendrogram of Iris Dataset')
xlabel('Samples')
ylabel('Distance')

5.运行结果

在这里插入图片描述

  • 1
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敲代码两年半的练习生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值