基于归一化割的数据聚类系统
项目介绍
本项目实现了一个基于归一化割(Normalized Cuts)算法的数据聚类系统。归一化割是一种经典的谱聚类技术,旨在通过图划分理论将数据点划分为具有最大组内相似性和最小组间相似性的类别。系统能够处理多维数值型数据,自动完成相似度矩阵构建、特征分解、K-Way划分等过程,并提供直观的可视化与量化评估,帮助用户深入理解数据结构并验证聚类效果。
功能特性
- 核心算法:采用归一化割谱聚类算法,有效捕捉数据内在的簇结构。
- 多格式输入:支持CSV、MAT等格式的数值型矩阵数据;支持图像数据(需预处理为特征向量或像素矩阵)。
- 结果可视化:生成二维或三维散点图,直观展示聚类结果与簇中心分布。
- 性能评估:自动计算并提供多种聚类评估指标,如轮廓系数、调整兰德指数(ARI)、戴维森-堡丁指数(DBI)等。
- 参数友好:用户可通过简单配置调整相似度函数、聚类数目等关键参数。
使用方法
- 准备数据:将数据集整理为矩阵形式(行对应样本,列对应特征),并保存为CSV或MAT文件。
- 运行主程序:执行系统主入口脚本,程序将自动加载数据、进行归一化割聚类计算。
- 查看结果:程序运行后将输出聚类标签、簇中心坐标,并弹出窗口显示可视化图表与评估指标报告。
- 分析优化:根据评估报告调整参数(如簇数K),重新运行以获得更优聚类效果。
系统要求
- 操作系统:Windows / Linux / macOS
- 软件环境:MATLAB R2018b 或更高版本
- 依赖工具箱:Statistics and Machine Learning Toolbox
文件说明
主程序文件作为系统的入口与调度核心,承载了完整的数据处理流程。其主要功能包括:控制程序整体执行逻辑,调用数据读取模块加载用户指定格式的输入文件;负责构建样本间的相似度矩阵,并基于此矩阵执行归一化割算法的核心步骤,如拉普拉斯矩阵计算、特征值分解与特征向量聚类;最后,它协调结果输出模块,生成聚类标签与簇中心,驱动可视化组件绘制散点图,并计算与显示各项聚类评估指标。