-
大小: 295KB文件類型: .tar金幣: 1下載: 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]‘
評論
共有 條評論