📄 test_ap.m
字号:
if 1
% original example shown in that paper
N=100; x=rand(N,2); % Create N, 2-D data points
else
% my example for iris data
data = load('iris.txt');
[nrow, dim] = size(data);
N=nrow;
truelabels = data(:,1);
x = data(:,2:dim);
dim = dim-1;
end
M=N*N-N;
s=zeros(M,3); % Make ALL N^2-N similarities
j=1;
for i=1:N
for k=[1:i-1,i+1:N]
s(j,1)=i;
s(j,2)=k;
s(j,3)=-sum((x(i,:)-x(k,:)).^2);
j=j+1;
end;
end;
% Set preference to median similarity
p=0.5*median(s(:,3));
[idx,labels,NC,netsim,dpsim,expref]=apcluster(s,p);%,'plot'
C = unique(idx)';
labels = idx;
fprintf('Number of clusters: %d\n',length(C));
fprintf('Fitness (net similarity): %f\n',netsim);
figure; % Make a figures showing the data and the clusters
for i=C
ii=find(idx==i);
h=plot(x(ii,1),x(ii,2),'o');
hold on;
col=rand(1,3);
set(h,'Color',col,'MarkerFaceColor',col);
xi1=x(i,1)*ones(size(ii));
xi2=x(i,2)*ones(size(ii));
line([x(ii,1),xi1]',[x(ii,2),xi2]','Color',col);
end;
axis equal tight;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -