📄 demoncutclustering.asv
字号:
% function demoNcutClustering;
% demoNcutClustering
%
% demo for NcutClustering
% also initialize matlab paths to subfolders
% Timothee Cour, Stella Yu, Jianbo Shi, 2004.
clc;
clear;
disp('Ncut Clustering demo');
% initialize matlab paths to subfolders
main;
%% make up a point data set
caseid =3;
[data,label,size_cluster] = build_scene(caseid);
figure(1);clf;
plot(data(1,:),data(2,:),'ks', 'MarkerFaceColor','k','MarkerSize',5);
axis image; hold on;
% disp('This is the input data points to be clustered, press Enter to continue...');
% pause;
disp('Compute clustering...');
% compute similarity matrix
[W,Dist] = compute_relation(data);
% clustering graph in
nbCluster = 4;
tic;
[NcutDiscrete,NcutEigenvectors,NcutEigenvalues] = ncutW(W,nbCluster);
disp(['The computation took ' num2str(toc) ' seconds']);
% display clustering result
cluster_color = ['rgbmyc'];
figure(2);clf;
% for j=1:nbCluster,
% id = find(NcutDiscrete(:,j));
% plot(data(1,id),data(2,id),[cluster_color(j),'s'], 'MarkerFaceColor',cluster_color(j),'MarkerSize',5); hold on;
% end
% [id]=kmeans(NcutEigenvectors,nbCluster);
% for j=1:nbCluster,
% num=find(id==j);
% plot(data(1,num),data(2,num),[cluster_color(j),'s'], 'MarkerFaceColor',cluster_color(j),'MarkerSize',5); hold on;
% end
ker='rbf';% linear kernel is used
C=10;
global p1; %only valid for rbf gaussian kernel,it is the variance of rbf kernel
p1=2;
nmsapmle=[40,20,25,25];
% NcutEigenvectors=NcutEigenvectors*10000;
[trainx,trainy]=traindata(NcutEigenvectors,label,nmsapmle,nbCluster);
[id]=svmeig(trainx,trainy,NcutEigenvectors,ker,C);
% for j=1:nbCluster,
% num=find(id==j);
% plot(data(1,num),data(2,num),[cluster_color(j),'s'], 'MarkerFaceColor',cluster_color(j),'MarkerSize',5); hold on;
% end
hold off; axis image;
disp('This is the clustering result');
disp('The demo is finished.');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -