没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
function [ iter , C ] = K_modes( data , K )
%% 原始K-modes算法
[Num Dim]=size(data);
%% K-modes算法聚类
%随机初始聚类中心
centerID=sort(randperm(Num,K));
CC=data(centerID,:);
Eold=inf;
iter=1;
count=1;
while 1
E=0;
for j=1:K
d=data~=repmat(CC(j,:),Num,1);
D(:,j)=sum(d,2);
end
[Bs,Cs]=sort(D,2);
[B,C]=min(D,[],2);
for i=1:Num
if sum(Bs(i,:)==B(i))>1
C(i)=Cs(i,randperm(sum(Bs(i,:)==B(i)),1));
end
end
if iter==1
C(centerID)=1:K;
end
for h=1:K
E=E+sum(B(C==h));
end
if E==Eold
%% 原始K-modes算法
[Num Dim]=size(data);
%% K-modes算法聚类
%随机初始聚类中心
centerID=sort(randperm(Num,K));
CC=data(centerID,:);
Eold=inf;
iter=1;
count=1;
while 1
E=0;
for j=1:K
d=data~=repmat(CC(j,:),Num,1);
D(:,j)=sum(d,2);
end
[Bs,Cs]=sort(D,2);
[B,C]=min(D,[],2);
for i=1:Num
if sum(Bs(i,:)==B(i))>1
C(i)=Cs(i,randperm(sum(Bs(i,:)==B(i)),1));
end
end
if iter==1
C(centerID)=1:K;
end
for h=1:K
E=E+sum(B(C==h));
end
if E==Eold
资源评论
bfs410
- 粉丝: 4
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功