《 模式识别 》实验 实验软件:
Matlab6.5 以上版本
实验 二 b Matlab 工具箱中 中 K K 均值 聚类算法 的使用 一、实验目的 1.掌握 Matlab 工具箱中 K 均值聚类算法的基本用法; 2.将 K 均值聚类算法用于数字聚类; 二、实验内容和步骤 1.Matlab 中 K 均值聚类的基本用法 1)在 Matlab 中用函数 kmeans 来实现 K 均值聚类 语法:
[IDX,C,sumd,D] = kmeans(X,k)其中,X 是 n×p 样本集矩阵,每一行是一个样本,整数 k 用来确定聚类的类数。输出结果中IDX 是一个 n×1 列向量,每一行表示对应样本的类标;C 是所分成的 k 个类的类中心向量矩阵,大小为 k×p;sum 是 1×k 行向量,分别是每一类中各点到该类中心的距离和;D 是 n×k 矩阵,第 i 行表示第 i 个样本分别到 k 个类中心的距离。
例:对下面 5 个样本进行聚类。
Object 1: 1, 2 Object 2: 2.5, 4.5 Object 3: 2, 2 Object 4: 4, 1.5 Object 5: 4, 2.5 X = [1 2;2.5 4.5;2 2;4 1.5;4 2.5];用 kmeans 来对以上 5 点进行聚类。
[IDX,C,sumd,D] = kmeans(X,3); 结果为:
IDX = 1 2 1 3 3 C = 1.5000 2.0000 2.5000 4.5000 4.0000 2.0000 sumd = 0.5000 0 0.5000 D = 0.2500 8.5000 9.0000 7.2500 0 8.5000 0.2500 6.5000 4.0000 6.5000 11.2500 0.2500 6.5000 6.2500 0.2500 2)添加分层聚类法到数字聚类界面 步骤一:运行 guide shuzijulei,打开界面编辑器
步骤二:打开 Menu Editor,在主菜单“聚类算法”下新增“K 均值算法”子菜单,并将其 Tag 设为“kmeans” 步骤三:为菜单项“K 均值算法”对应的子函数添加相应代码
其中函数 kjunzhi 定义为