?? som_dmatclusters.m
字號:
function [base,seed] = som_dmatclusters(sM,linkage,neigh,ignore)% SOM_DMATCLUSTERS Cluster map based on neighbor distance matrix.%% base = som_dmatclusters(sM,linkage,neigh,ignore)%% sM (struct) map or data struct% (matrix) data matrix, size n x dim% [linkage] (string) 'closest', 'single', 'average', 'complete', % 'centroid', 'ward', and 'neighf' (last for SOM only)% default is 'centroid'% [neigh] (string) 'kNN' or 'Nk' (which is valid for a SOM only)% for example '6NN' or 'N1'% default is '10NN' for a data set and 'N1' for SOM% (matrix) 0/1 matrix of size size n x n, 1=connection exists% [ignore] (vector) indeces of vectors to be ignored in the spreading% phase, empty vector by default%% base (vector) size n x 1, cluster indeces (1...c)% seed (vector) size c x 1, indeces of seed units for the clusters%% See also SOM_NEIGHBORS, KMEANS_CLUSTERS, SOM_DMATMINIMA.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% input argumentsif nargin<2 | isempty(linkage), linkage = 'centroid'; endif nargin<3 | isempty(neigh), if isstruct(sM) & strcmp(sM.type,'som_map'), neigh = 'N1'; else neigh = '10NN'; endendif nargin<4, ignore = []; endn = size(sM.codebook,1);% neighborhoodsif ischar(neigh), Ne = som_neighbors(sM,neigh);else Ne = neigh;end% find seed pointsseed = som_dmatminima(sM,[],Ne);% make partitionbase = zeros(n,1);base(seed) = 1:length(seed);if any(ignore), base(ignore) = NaN; endbase = som_clspread(sM,base,linkage,Ne,0);% assign the ignored units, toobase(isnan(base)) = 0;if any(base==0), base = som_clspread(sM,base,linkage,Ne,0); endreturn;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -