西电数据挖掘大作业k-means和k-medoids
med(obest,:)=sample(index,:);
else
Enew=Eold;
end
end
k_medoids_waveform:
clear;clc;
%%%%%%%%%Êý¾Ý¶ÁÈë%%%%%%%
data=load('G:\西电\2014大三下\大作业\Data Mining\
k_medoids\waveform-+noise.data');
[N K]=size(data); %数据集的数目
data0=zeros(1,K);
data1=zeros(1,K);
data2=zeros(1,K);
for i=1:N
if(data(i,K)==0)
data0=cat(1,data(i,:),data0);
elseif(data(i,K)==1)
data1=cat(1,data(i,:),data1);
else
data2=cat(1,data(i,:),data2);
end
end
sample=cat(1,data0(1:100,:),data1(1:100,:),data2(1:100,:));
label=sample(:,K); %Ñù±¾µÄÕýÈ·Àà±ê
sample=sample(:,1:K-1); %Ñù±¾¼¯
k=3; %聚类中心的数目
%%%%%%%%%%k_medoids%%%%%%%
[y med]=k_medoids(sample,k);
%%%%%%%%%%正确率统计Æ%%%%%%%
sum=zeros(1,6);
[N V]=size(sample);
for i=1:N
y(i,1)=y(i,1)-1;
end
for i=1:N
if(y(i,1)==label(i,1))
sum(1,1)=sum(1,1)+1;
end
end
for i=1:N
if((y(i,1)+label(i,1))==2)