-
大小: 295KB文件类型: .tar金币: 2下载: 1 次发布日期: 2023-01-27
- 语言: Matlab
- 标签:
资源简介
模式识别作业__ISODATA聚类算法 报告AND源码
对鸢尾花的公开数据集,用ISODATA聚类。用MATLAB实现。
代码片段和文件信息
clear;
clc;
%读入数据
load data_iris.mat;
IRIS = IRIS‘;
Patterns = IRIS(1:4:);
%参数设置
c = 5;%预期的聚类中心数
Nc = 11;%初始聚类中心个数
Selta_n =5;%每一聚类域中最少的样本数目,若少于此数即不作为一个独立的聚类
Selta_s = 0.3;%一个聚类域中样本距离分布的标准差
Selta_D = 5;%两个聚类中心间的最小距离,若小于此数,两个聚类需进行合并
L = 1;%在一次迭代运算中可以合并的聚类中心的最多对数
I = 20;%迭代运算的次数
Classes=ISODATA(PatternsIRIS(5:)cNcSelta_nSelta_sSelta_DLI);
ret = zeros(3length(Classes));
for i=1:length(Classes)
labs = getLabels(Classes(i));%test
for j=1:length(labs)
if labs(j) ~=0
ret(labs(j)i) = 1+ret(labs(j)i);
end
end
end
ret
Classes=ISODATA(Patterns1:150cNcSelta_nSelta_sSelta_DLI);
ret_index=zeros(1150);
for i=1:length(Classes)
labs = getLabels(Classes(i));%test
for j=1:length(labs)
if labs(j) ~=0
ret_index(labs(j))=i;
end
end
end
ret_index=[IRIS;ret_index]‘
评论
共有 条评论