-
大小: 295KB文件類型: .tar金幣: 1下載: 1 次發(fā)布日期: 2023-01-27
- 語言: Matlab
- 標(biāo)簽:
資源簡介
模式識別作業(yè)__ISODATA聚類算法 報(bào)告AND源碼
對鳶尾花的公開數(shù)據(jù)集,用ISODATA聚類。用MATLAB實(shí)現(xiàn)。
代碼片段和文件信息
clear;
clc;
%讀入數(shù)據(jù)
load?data_iris.mat;
IRIS?=?IRIS‘;?
Patterns?=?IRIS(1:4:);
%參數(shù)設(shè)置
c?=?5;%預(yù)期的聚類中心數(shù)
Nc?=?11;%初始聚類中心個(gè)數(shù)
Selta_n?=5;%每一聚類域中最少的樣本數(shù)目,若少于此數(shù)即不作為一個(gè)獨(dú)立的聚類
Selta_s?=?0.3;%一個(gè)聚類域中樣本距離分布的標(biāo)準(zhǔn)差
Selta_D?=?5;%兩個(gè)聚類中心間的最小距離,若小于此數(shù),兩個(gè)聚類需進(jìn)行合并
L?=?1;%在一次迭代運(yùn)算中可以合并的聚類中心的最多對數(shù)
I?=?20;%迭代運(yùn)算的次數(shù)
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]‘
評論
共有 條評論