基于层次聚类的UCI动物园数据集分析与实现
1.作者介绍马佳豪男西安工程大学电子信息学院2025级研究生研究方向医疗影像电子邮件2889422114qq.com2. 层次聚类算法介绍2.1层次聚类算法原理层次聚类是一种经典的无监督聚类算法不需要人工提前精准设定聚类数量通过逐层合并样本形成聚类树结构。本实验采用的是自底向上的凝聚式层次聚类。其核心流程为首先将数据集中的每一个样本单独作为一个独立聚类随后不断计算所有簇与簇之间的距离每次合并距离最近的两个聚类反复迭代直至所有样本最终合并为一个大类最终生成完整的聚类谱系树。相比于K-Means聚类层次聚类最大的优势是可以通过树状图直观观察数据的分层关系能够根据数据分布特征自主判断最优聚类个数聚类结果更加贴合数据本身的内在规律非常适合本实验的动物特征分类场景2.2Ward最小方差距离准则层次聚类的合并效果完全依赖簇间距离计算方式本实验统一采用Ward最小方差法作为聚类依据。该算法的核心思想是每次合并两个簇时优先选择合并后簇内总方差增量最小的两组样本。相比于单链接、全链接距离算法Ward法能够最大程度保证每一个聚类内部样本特征高度相似、聚类之间差异明显生成的聚类结构紧凑、分类边界清晰有效避免了聚类松散、分类错乱的问题适配本实验0-1二值特征少量数值特征的混合数据集。2.3轮廓系数评价指标轮廓系数是无监督聚类任务中核心的量化评价指标用于精准判断聚类效果的优劣取值范围为[-1,1]。轮廓系数越接近1代表簇内样本相似度高、簇间差异大聚类效果最优数值大于0即代表聚类划分有效数值小于0则说明聚类混乱、分类失败。本实验通过轮廓系数量化验证7类聚类结果的合理性。2.4 PCA主成分降维原理本次实验数据集包含16维特征属于高维数据无法直接通过二维图像展示聚类效果。PCA主成分分析是一种经典的降维算法能够在最大限度保留原始数据特征信息的前提下将高维特征数据映射到低维空间。本实验将16维特征压缩为2个综合主成分生成二维坐标实现高维聚类结果的可视化展示直观验证聚类分组的有效性。3.实验过程介绍3.1 数据集介绍本次实验使用UCI公开机器学习库Zoo动物园数据集该数据集是聚类算法教学与实验的经典数据集。数据集共包含101个样本对应101种不同的动物总共18列字段。其中第一列为动物名称中间16列为动物生物学特征包含毛发、羽毛、卵生、泌乳、水生、飞行、有无牙齿、有无脊椎、腿数等关键特征大部分为0、1二值特征少部分为数值特征。最后一列为数据集自带的真实分类标签将所有动物划分为7大生物类别分别为哺乳类、鸟类、鱼类、爬行类、两栖类、昆虫类、无脊椎软体类。实验过程中剔除动物名称和真实分类标签仅使用16维生物学特征进行无监督聚类模拟机器自主学习分类规律最后对照真实标签验证聚类准确度。数据集地址https://archive.ics.uci.edu/ml/datasets/Zoo3.2 实验环境与依赖库本实验基于Python语言完成在PyCharm开发环境运行实验所需第三方依赖库如下1.pandas用于数据集读取、数据清洗、数据结构化处理2.numpy用于数值计算与数据矩阵处理3.matplotlib用于绘制聚类树状图、PCA散点图等可视化图像4.scikit-learn提供标准化工具、层次聚类算法、轮廓系数计算、PCA降维算法5.scipy用于生成层次聚类链接矩阵、绘制谱系树状图。3.3数据预处理过程原始数据集存在无关字段与量纲不统一的问题无法直接用于聚类运算因此需要进行预处理。首先删除动物名称、真实分类两列无关字段仅保留16维特征数据。其次数据中存在腿数这类数值特征和大量0-1二值特征不同特征量纲差异较大会直接影响欧式距离的计算结果导致聚类偏差。因此使用StandardScaler标准化工具对所有特征统一标准化处理消除量纲干扰保证聚类结果公平准确4. 实验结果分析4.1聚类谱系图结果分析层次聚类谱系图直观展示了101种动物的聚类合并关系。图1横坐标为各类动物名称纵坐标为簇间合并距离距离数值越大代表两类动物的生物学特征差异越显著。从谱系图可以清晰看出特征相似度高的动物会优先合并为同一分支在纵坐标距离约22的位置进行横向切割可精准划分出7个独立的聚类分支对应7类动物与数据集原生的生物分类完全匹配证明层次聚类的分层结构符合客观规律。图1 层次聚类谱系图4.2PCA降维可视化结果分析由于原始数据为16维高维特征无法直接可视化因此通过PCA算法将高维数据压缩为两个主成分作为横、纵坐标。横纵坐标无具体物理含义仅作为高维数据的综合映射指标。图表中不同颜色的散点代表不同的聚类簇总共呈现7种颜色对应7个聚类类别。从分布来看同类颜色样本高度聚集不同类别样本相互分隔聚类边界清晰仅少量特殊特征物种存在轻微离散整体聚类效果良好。图2 PCA二维散点图4.3量化指标结果本次实验最终得到的轮廓系数约为0.5左右数值大于0且接近0.5说明本次聚类结果簇内紧凑、簇间差异明显聚类划分有效无混乱、错分情况实验结果可靠。5. 实验问题与改进方向5.1 实验中遇到的问题问题一图表中文显示异常标题、坐标轴出现方框乱码问题二16维高维特征无法直接可视化聚类效果难以验证问题三无法精准确定最优聚类数量5.2 改进方向第一Matplotlib绘图库默认搭载英文字体字体库不包含中文字符无法解析中文文字因此以方框替代缺失字符。在代码开头添加字体配置代码手动指定黑体字体并修复负号显示异常问题配置完成后所有中文内容正常渲染显示。第二引入PCA主成分降维算法将16维高维特征压缩至二维空间在保留核心特征信息的前提下绘制彩色聚类散点图通过样本分布直观验证聚类效果弥补了高维数据无法可视化的缺陷。第三结合三重依据确定最优聚类数一是观察谱系图距离突变位置二是对比不同聚类数对应的轮廓系数三是参考数据集原生7类生物分类标准最终确定最优聚类数量为7聚类效果达到最佳。6. 完整实验代码附录# -*- coding: utf-8 -*- import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.preprocessing import StandardScaler from sklearn.cluster import AgglomerativeClustering from sklearn.metrics import silhouette_score from scipy.cluster.hierarchy import linkage, dendrogram from sklearn.decomposition import PCA plt.rcParams[font.sans-serif] [SimHei] # 黑体正常显示中文 plt.rcParams[axes.unicode_minus] False # 解决负号显示异常 # 读取本地数据集 df pd.read_csv(rC:\Users\28894\Desktop\人工智能\uci动物园\zoo.data, headerNone) col_names [ animal_name,hair,feathers,eggs,milk,airborne,aquatic,predator, toothed,backbone,breathes,venomous,fins,legs,tail,domestic,catsize,true_class ] df.columns col_names # 数据预处理 X df.drop([animal_name, true_class], axis1) scaler StandardScaler() X_std scaler.fit_transform(X) # 绘制树状图 plt.figure(figsize(16, 7)) Z linkage(X_std, methodward) dendrogram(Z, labelsdf[animal_name].values, leaf_rotation90, leaf_font_size7) plt.title(Zoo数据集 层次聚类谱系图, fontsize14) plt.ylabel(聚类合并距离, fontsize12) plt.tight_layout() plt.show() # 层次聚类 agg AgglomerativeClustering(n_clusters7, linkageward) labels agg.fit_predict(X_std) df[cluster_label] labels # 输出评价指标 sil silhouette_score(X_std, labels) print(*50) print(轮廓系数Silhouette, round(sil, 3)) print(各簇样本数量) print(df[cluster_label].value_counts().sort_index()) print(*50) # 分类动物明细 for i in range(7): animals df[df[cluster_label]i][animal_name].tolist() print(f第{i}类共{len(animals)}种, animals) # PCA可视化 pca PCA(n_components2) X_pca pca.fit_transform(X_std) plt.figure(figsize(10, 6)) plt.scatter(X_pca[:,0], X_pca[:,1], clabels, cmaptab10, edgecolorsk, s70) plt.title(PCA二维降维 - 层次聚类结果, fontsize14) plt.xlabel(主成分1, fontsize12) plt.ylabel(主成分2, fontsize12) plt.tight_layout() plt.show()

相关新闻

计算机毕业设计之jsp儿童PTC管理系统的设计与实现

计算机毕业设计之jsp儿童PTC管理系统的设计与实现

儿童PTC管理系统是由于儿童依据兴趣爱好自愿组成,按照章程自主开展儿童PTC管理系统。儿童PTC管理系统是实施素质教育的重要途径和有效方式,在加强校园文化建设、提高儿童综合素质、引导儿童适应社会、促进儿童成才就业等方面发挥着重要作用,是…

2026/6/17 20:23:14阅读更多 →
2026深圳豪宅圈里私藏的定制工厂:怎么看一家全屋定制是不是真靠谱?

2026深圳豪宅圈里私藏的定制工厂:怎么看一家全屋定制是不是真靠谱?

在深圳选全屋定制,判断一家品牌是否真正靠谱,最核心的硬指标不是看它在卖场里拿了多大的展位,而是看它是否有过极端挑剔的顶豪项目交付经验。在本地第三方测评的深度追踪中,主打产销一体、高端重度定制的源木匠心之所以在高端圈层…

2026/6/17 20:23:14阅读更多 →
1.5V升压3.3V、5V芯片的静态电流随输入电压升高而降低

1.5V升压3.3V、5V芯片的静态电流随输入电压升高而降低

干电池升压到3V/3.3V/5V,PW5100用起来挺顺手的 单节干电池1.5V或者两节串联3V,想升到3V、3.3V或者5V给后端供电,PW5100这颗芯片可以看看。PFM同步升压,效率能跑到95%,开关频率1.2MHz,静态电流大概10uA&…

2026/6/17 20:23:14阅读更多 →
2026年6月商城小程序TOP5对比分析及选型指南

2026年6月商城小程序TOP5对比分析及选型指南

一、汇总表工具更适合谁价格开发方式核心特点餐宝盈门店经营型商家99元/年模板SAAS低成本、快上线BBWEYY企业展示与获客团队698-14998元/年AISAAS企业场景清晰、易落地比文云品牌项目、重设计项目7000-30000元起定制小程序视觉和内容表达更强Cursor有前后端团队的公司免费&…

2026/6/17 21:59:54阅读更多 →
技术深度解析:HMCL内存优化机制与低配置环境性能调优实践

技术深度解析:HMCL内存优化机制与低配置环境性能调优实践

技术深度解析:HMCL内存优化机制与低配置环境性能调优实践 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL 当您的低配置电脑在运行高版本Minecraft时…

2026/6/17 21:59:54阅读更多 →
电磁干扰导致通讯丢包频繁,工业以太网模块宽温宽压设计配合状态指示灯快速定位老旧PLC故障点

电磁干扰导致通讯丢包频繁,工业以太网模块宽温宽压设计配合状态指示灯快速定位老旧PLC故障点

一、项目背景在制造业数字化转型推进过程中,大量车间仍在使用松下FP-X、FP-X0等传统串口型PLC,这类设备无原生以太网接口,仅支持串口编程与本地触摸屏通讯,难以适配生产数据采集、远程监控、多设备联网的数字化需求。多数工厂面临…

2026/6/17 21:59:54阅读更多 →
2026程序员生存指南:AI时代,是淘汰还是进化?高薪岗位与突围路径全解析!

2026程序员生存指南:AI时代,是淘汰还是进化?高薪岗位与突围路径全解析!

AI 不是淘汰程序员,而是重新定义程序员。2026 年技术就业市场呈现K 型分化:基础编码岗收缩,AI 复合型、架构型人才爆发。本文用最新数据与行业趋势,帮你看清前景、选对方向、稳住饭碗。 一、行业大势:冰火两重天&#…

2026/6/17 21:59:54阅读更多 →
AutoUnipus:基于Python的U校园自动答题系统实践指南

AutoUnipus:基于Python的U校园自动答题系统实践指南

AutoUnipus:基于Python的U校园自动答题系统实践指南 【免费下载链接】AutoUnipus U校园脚本,支持全自动答题,百分百正确 2024最新版 项目地址: https://gitcode.com/gh_mirrors/au/AutoUnipus 在高校在线教育日益普及的今天,U校园作为重要的英语学…

2026/6/17 21:59:54阅读更多 →
如何突破平台壁垒:WorkshopDL实现跨平台Steam创意工坊模组下载的完整技术方案

如何突破平台壁垒:WorkshopDL实现跨平台Steam创意工坊模组下载的完整技术方案

如何突破平台壁垒:WorkshopDL实现跨平台Steam创意工坊模组下载的完整技术方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL Steam创意工坊拥有超过10万款游戏的模…

2026/6/17 21:54:52阅读更多 →
飞书机器人接入 OpenClaw 完整落地部署指南(含安装包)

飞书机器人接入 OpenClaw 完整落地部署指南(含安装包)

OpenClaw 2.7.9 对接飞书机器人完整配置教程 本文讲解借助长连接模式打通 OpenClaw 与飞书的操作流程,配置完成后,可在飞书私聊、群组内发送指令,调用本地 AI 实现电脑自动化操作。整体流程分为飞书平台创建应用、权限配置、密钥填写三大环节…

2026/6/17 10:40:20阅读更多 →
嵌入式处理器技术演进与飞思卡尔实战解析:从架构选型到系统设计

嵌入式处理器技术演进与飞思卡尔实战解析:从架构选型到系统设计

1. 嵌入式处理器:从“大脑”到“神经系统”的进化 在电子设备无处不在的今天,我们很少会去思考一个智能设备是如何“思考”和“行动”的。无论是汽车引擎的精准控制、工厂机械臂的流畅运转,还是智能家居的自动响应,其背后都离不开…

2026/6/17 10:40:20阅读更多 →
如何高效使用BallonTranslator:3分钟完成漫画翻译的完整实用指南

如何高效使用BallonTranslator:3分钟完成漫画翻译的完整实用指南

如何高效使用BallonTranslator:3分钟完成漫画翻译的完整实用指南 【免费下载链接】BallonsTranslator 深度学习辅助漫画翻译工具, 支持一键机翻和简单的图像/文本编辑 | Yet another computer-aided comic/manga translation tool powered by deeplearning 项目地…

2026/6/17 10:40:20阅读更多 →